18
9

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

kotlin staticメソッドと定数

Posted at

kotlinのstaticメソッド

kotlinではstaticメソッドはありません。ただしCompanion Objectsという仕組みを使えば実現できます。

class Foo {
    companion object {
        fun staticMethodTest() {
        }
    }
}

fun main() {
    Foo.staticMethodTest() //実行可能
}

kotlinの定数

constを指定することでコンパイル時定数 (compile time constants) としてマークすることができます。
以下の場合どちらの値も参照可能です。

class Foo {
    companion object {
        val TEST_VAL1 = 1
        const val TEST_VAL2: Int = 2
    }
}


fun main() {
    println("TEST_VAL1 = ${Foo.TEST_VAL1}")
    println("TEST_VAL2 = ${Foo.TEST_VAL2}")
}

実行結果

TEST_VAL1 = 1
TEST_VAL2 = 2

ただしJavaでアクセスする場合にconstを指定している場合はFoo.TEST_VAL2でアクセスでき、constを指定していない場合はgetTEST_VAL1()という呼び出し方になります。
constを指定することによって以下のメリットがあります。

  • コンパイル時定数となるので、パフォーマンスが良くなる。
  • Javaとの相互運用性が保てる
18
9
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
18
9

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?