在 Kotlin 中建立和使用靜態變數
當我們在 Java 中將變數宣告為靜態時,我們可以在不同的類中使用它,而無需建立物件。這意味著靜態變數的記憶體只分配一次。
由於 JVM 不會多次為靜態變數分配記憶體,因此它們用於高效的記憶體管理;但是,Kotlin 中沒有 static
關鍵字。那麼,我們如何在 Kotlin 中宣告靜態變數呢?
本文介紹瞭如何在 Kotlin 中實現靜態變數的概念。
在 Kotlin 中宣告靜態變數
雖然 Kotlin 沒有 static
關鍵字,但我們仍然可以使用以下方法實現相同的記憶體管理效率:
Companion
物件@JvmStatic
註釋
我們將介紹這兩種方法並檢視實現 Kotlin 靜態變數的示例。
使用 Companion
物件建立 Kotlin 靜態變數
我們可以使用 companion
關鍵字來建立 companion
物件來幫助實現靜態變數功能。我們需要在物件之前使用 companion
關鍵字。
這些物件可以訪問一個類的私有成員;因此,無需兩次分配記憶體。我們可以使用類的名稱來訪問這些成員。
這是使用 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 中宣告靜態變數的一種方法是使用 @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