Kotlinでのstaticの取り扱いについてです。
Kotlinでは、static修飾子が定義されていないので、Javaのように書くことができません。

Kotlinでfinal static的な定数的な書き方をする場合は、以下のように書きます。

いくつかキーワードが出てきたので、抜粋します。

companion

companionを使用することで、objectのwrapper定義を省略することができています。
companionを定義しないと、

constObj.Values.MAX_VALUE

としないといけませんが、companionを使うことにより、省略ができます。

@JvmField

@JvmFieldをつけることにより、compilerにより自動でsetterとgetterが作成されないようです。
Performanceのためつけたほうがいいですね。

続いて、Static変数です。

valをvarに変えただけです。
instance化しなくても参照と値を変更することができます。

参考url

Pocket