Kotlin で静的変数を作成して使用する
Java で変数を静的として宣言すると、オブジェクトを作成しなくても、さまざまなクラスで使用できます。これは、静的変数のメモリが 1 回だけ割り当てられることを意味します。
JVM は静的変数にメモリを複数回割り当てないため、効率的なメモリ管理に使用されます。ただし、Kotlin には static
キーワードはありません。では、Kotlin で静的変数をどのように宣言するのでしょうか。
この記事では、Kotlin で静的変数の概念を実装する方法を紹介します。
Kotlin で静的変数を宣言する
Kotlin には static
キーワードはありませんが、次を使用して同じメモリ管理効率を実現できます。
Companion
オブジェクト@JvmStatic
注釈
両方の方法を実行し、Kotlin 静的変数を実装するための例を示します。
Companion
オブジェクトを使用して Kotlin 静的変数を作成する
companion
キーワードを使用して companion
オブジェクトを作成し、静的変数機能の実現に役立てることができます。オブジェクトの前に companion
キーワードを使用する必要があります。
これらのオブジェクトは、クラスのプライベートメンバーにアクセスできます。したがって、メモリを 2 回割り当てる必要はありません。クラスの名前を使用して、これらのメンバーにアクセスできます。
これは、companion
オブジェクトを使用して Kotlin で静的機能を実現する例です。
fun main(args: Array<String>) {
println("We are accessing a class variable without creating object.\n" + staticExample.privateVar)
}
class staticExample{
companion object {
val privateVar = "Hi, you are accessing a static variable."
}
}
出力:
例のデモを確認するには、ここをクリックをクリックしてください。
@JvmStatic
注釈を使用して Kotlin 静的変数を作成する
companion
オブジェクトメンバーは Java の静的変数に似ていますが、わずかな違いがあります。実行中、companion
オブジェクトは引き続き実際のオブジェクトのメンバーです。したがって、インターフェイスを実装することもできます。
ただし、Kotlin で静的変数を宣言する 1つの方法は、@JvmStatic
アノテーションを使用することです。変数を宣言するときに@JvmStatic
アノテーションを使用すると、JVM はそれらを実際の静的変数と見なします。
@JvmStatic
アノテーションを使用して変数を宣言する例を次に示します。
fun main(args: Array<String>) {
println("We are accessing a class variable without creating object.\n" + staticExample.privateVar)
}
object staticExample{
@JvmStatic
val privateVar = "Hi, you are accessing a static variable."
}
出力:
例のデモを確認するには、ここをクリックをクリックしてください。
Kailash Vaviya is a freelance writer who started writing in 2019 and has never stopped since then as he fell in love with it. He has a soft corner for technology and likes to read, learn, and write about it. His content is focused on providing information to help build a brand presence and gain engagement.
LinkedIn