實例變數宣告在一個類別中,但在方法、建構方法和語句區塊之外;
#當一個物件被實例化之後,每個實例變數的值就跟著確定;
實例變數在物件創建的時候創建,在物件被銷毀的時候銷毀;
實例變數的值應該至少被一個方法、建構方法或語句區塊引用#,使得外部能夠透過這些方式取得實例變數資訊;
實例變數對於類別中的方法、建構方法或語句區塊是可見的。一般情況下應該把實例變數設為私有。透過使用存取修飾符可以使實例變數對子類別可見
實例變數具有預設值。數值型變數的預設值是0,布林型變數的預設值是false,引用型別變數的預設值是null。變數的值可以在宣告時指定,也可以在建構方法中指定;
實例變數可以直接透過變數名稱存取。但在靜態方法以及其他類別中,就應該使用完全限定名:ObejectReference.VariableName。
類別變數也稱為靜態變量,在類別中以static關鍵字聲明,但必須在方法建構方法和語句區塊之外。
無論一個類別創建了多少個對象,類別只擁有類別變數的一份拷貝。
靜態變數除了被宣告為常數外很少使用。常數是指宣告為public/private,final和static類型的變數。常量初始化後不可改變。
靜態變數儲存在靜態儲存區。經常被聲明為常數,很少單獨使用static聲明變數。
靜態變數在程式開始時創建,在程式結束時銷毀。
與實例變數具有相似的可見性。但為了對類別的使用者可見,大多數靜態變數宣告為public型別。
預設值和實例變數相似。數值型變數預設值是0,布林型預設值是false,引用型別預設值是null。變數的值可以在宣告的時候指定,也可以在建構方法中指定。此外,靜態變數也可以在靜態語句區塊中初始化。
靜態變數可以透過:ClassName.VariableName的方式存取。
類別變數被宣告為public static final型別時,類別變數名稱必須使用大寫字母。如果靜態變數不是public和final類型,其命名方式與實例變數以及局部變數的命名方式一致。
class TiXing{ float up,height; static float down; TiXing(float x,float y,float z){ up=x; height=y; down=z; } } public class ep3_9{ public static void main(String args[]){ TiXing one=new TiXing(1,2,3); System.out.println("one's down is:"+one.down); TiXing two=new TiXing(4,5,6); System.out.println("one's down is:"+one.down); System.out.println("two's down is:"+two.down); System.out.println("TiXing's down is:"+TiXing.down); } }
實例方法和類別方法對實例變數和類別變數的存取
實例方法可以對目前物件的實例變數進行操作,也可以對類別變數進行操作。實例方法由實例物件呼叫。
類別方法不能存取實例變量,只能存取類別變數。類別方法由類別名稱或實例物件呼叫。類別方法中不能出現this或super關鍵字
class TiXing{ private float up,height; private static float down; TiXing(float x,float y,float z){ up=x; height=y; down=z; } public void display(){ System.out.println("up is:"+up+"height is:"+height+"down is:"+down); } public static void change(float number){ down=number; //System.out.println("height:"+height);//出错 } } public class ep3_9{ public static void main(String args[]){ TiXing one=new TiXing(1,2,3); one.display(); TiXing two=new TiXing(4,5,6); one.display(); two.display(); //TiXing.display();//出错 one.change(101); one.display(); two.change(102); two.display(); } }
以上是JAVA類別與物件(實例變數與類別變數的差異)(實例方法與類別方法的差異 )說明的詳細內容。更多資訊請關注PHP中文網其他相關文章!