在 Kotlin 中建立和使用靜態變數

Kailash Vaviya 2024年2月15日
  1. 在 Kotlin 中宣告靜態變數
  2. 使用 Companion 物件建立 Kotlin 靜態變數
  3. 使用 @JvmStatic 註解建立 Kotlin 靜態變數
在 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."
    }
}

輸出:

使用伴生物件建立 Kotlin 靜態變數

單擊此處檢視示例的演示。

使用 @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."
}

輸出:

使用@JvmStatic 註解建立 Kotlin 靜態變數

單擊此處檢視示例的演示。

作者: Kailash Vaviya
Kailash Vaviya avatar Kailash Vaviya avatar

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

相關文章 - Kotlin Static