在JAVA中我們透過三個元素來描述變數:變數類型,變數名稱以及變數值。
String love="imooc";
變數類型變數名值(其中String具有不可變性,重新賦值後會產生新的String對象,love變數名稱實際上是指向物件位址的引用,"imooc"為具體的值)。
love="I love imooc";
變數重新賦值,重新指向了一個新的對象,對象值為"i love imooc」。
變數再分為是類別變數(靜態變數)、實例變數和局部變數(本地變數)。
局部變數就是本地變量,
在方法、建構器或區塊中使用,在方法、建構器或區塊進入時被創建,一旦退出該變數就會被銷毀
局部變數沒有預設值,因此本地變數必須被宣告並且在第一次使用前要給它賦值
實例變數:
在類別中聲明,但是它在方法、建構器或區塊外,當堆中的物件被分配了一個空間時,每個實例變數的位置就被創建了。
當物件採用關鍵字「new」建立時實例變數就被建立了,當物件被銷毀時它也就被銷毀了。
實例變數的值必須被一個以上的方法、建構器或區塊,或是類別中必須出現的物件的狀態的重要部分所引用
實例變數可以用存取描述符
實例變數有預設值。數字的預設為0,boolean的預設為false,物件參考預設值為NULL
實例變數可以直接採用在類別中叫名字方式存取。然而在靜態方法和不同的類別中應使用完全限定名稱。 ObjectReference.VariableName
實例變數是歸屬於類別的實例的變量,又稱為成員變量,沒有經過static修飾。實例變數只能透過類別名稱的實例 點操作符 變數來操作。
類別變數:
也叫靜態變量,在類別中用static關鍵字聲明,但它在方法、建構器或區塊之外。
每個類別只有一個類別變量,不管這個類別有多少個物件。
除了被宣告為常數之外,類別變數很少被應用。常數是被宣告為public、private、final和static的變數。實例變數的初始值不會被改變
靜態變數儲存在靜態記憶體中,很少採用靜態變數而不是宣告結束或用常數public或private之一。
靜態變數隨著程式的開始和結束而開始和結束。
可見性和實例變數類似。然而大多數靜態變數被宣告為public由於他們必須為類別的使用者所用。
預設值和實例變數類似,除此之外,可以在特殊的靜態初始化區賦值
靜態變數可以用類別的名稱存取ClassName.VariableName
當靜態變數被當作public static final宣告時,變數(常數)名稱都要用大寫字母。如果靜態變數不是public和final,它的命名方法和實例變數和本地變數相同。
類別變數不僅可以直接透過類別名稱點運算元變數名稱來操作,也可以透過類別的實例點運算元變數來操作,大多數情況下,採用前者操作方式,一來不能夠有效地使用該變量,二來能夠表示該變數就是類別變數。
以上是Java中的變數是什麼的詳細內容。更多資訊請關注PHP中文網其他相關文章!