Java 中類變數和例項變數有什麼區別?


以下是類(靜態)變數和例項變數之間的一些顯著區別。

例項變數 靜態(類)變數
例項變數 在類中宣告,但在方法、建構函式或任何程式碼塊之外。 類變數也稱為 靜態變數,在類中使用 static 關鍵字宣告,但在方法、建構函式或程式碼塊之外。
使用關鍵字 'new' 建立物件時建立例項變數,並在銷燬物件時銷燬。 程式啟動時建立靜態變數,程式停止時銷燬。
可以在類內部直接透過呼叫變數名來訪問例項變數。但是,在靜態方法中(當例項變數被賦予可訪問性時),應該使用完全限定名來呼叫它們。物件引用.變數名 可以透過使用類名呼叫靜態變數 類名.變數名
例項變數儲存必須被多個方法、建構函式或程式碼塊引用的值,或者物件狀態的重要部分,這些部分必須貫穿整個類。 無論從類中建立多少個物件,每個類變數都只有一個副本。

示例

即時演示

public class VariableExample{
   int myVariable;
   static int data = 30;
   
   public static void main(String args[]){
      VariableExample obj = new VariableExample();
      
      System.out.println("Value of instance variable: "+obj.myVariable);
      System.out.println("Value of static variable: "+VariableExample.data);
   }
}

輸出

Value of instance variable: 0
Value of static variable: 30

更新於: 2023年9月12日

37K+ 瀏覽量

開啟你的 職業生涯

透過完成課程獲得認證

開始學習
廣告