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+ 次瀏覽

啟動您的職業生涯

透過完成課程獲得認證

開始學習
廣告