學習Java挺長時間長了,對於java中的基本知識雖然平時知道怎麼用,但是別人突然間問你誰與誰是什麼關係時,還是有點生疏。既然說到這了,今天把Java中的執行個體變數、局部變數、類變數與final變數之間的關係的思路重新整理一遍。俗話說的好“好記憶不如爛筆頭”,在此分享一下。
首先先說一下局部變數:這是我們接觸java或者其他程式設計語言最早接觸的東西,他定義在方法中,使用之前必須進行初始化,且生命週期盡在該方法中有效。
執行個體變數:只有在執行個體化對象後才可以使用,變數歸對象所有。每當執行個體化一個對象時,總會建立一個副本並初始化,如果沒有進行顯式的初始化,則會初始化一個預設值。各個執行個體化對象的副本之間互相獨立,之間沒有耦合。
類變數:該變數使用static修飾符修飾,隨著類的載入而可以使用(類名.變數名),屬於類所有。在程式中僅載入一次,分配獨立的儲存空間(靜態區),所有執行個體化的對象共用類變數。
final變數:使用static final 修飾,表示該變數為常量,顯示初始化之後不可以被修改,類似於C/C++中的全域變數,雖然Java中並不是這種叫法。
舉例如下:
public class VariableTest{ char ch = 'a'; public static int numInt = 100; # 成員變數 public staitc int testStatic() { static final int i = 2; # static final 變數 int x = 5; #局部變數 System.out.println(i+x); } public static void main(String[] args) { System.out.println(Variable.numInt); VariableTest test = new VariableTest(); test.testStatic(); System.out.println(test.ch); }}運行結果:100
7
a