1. 程式人生 > >Java的類成員變數,例項變數,類變數,成員方法,例項方法,類方法

Java的類成員變數,例項變數,類變數,成員方法,例項方法,類方法

 總是被這些相似的概念搞暈,查閱了資料後做個小總結,以變數為例,方法辨析類似。

1.多胞胎名字彙總辨析

成員變數和成員方法是範圍最大的定義,提到成員變數就可以理解成你所定義在一個類體中的各類變數的統稱,成員方法亦如是。java類的成員變數包括例項變數和類變數,成員方法包括例項方法和類方法。

那麼,什麼是例項變數和類變數呢?

從名字分析:

例項變數,是新建了例項後才能用的變數。

類變數,是不用新建例項,直接通過類來呼叫的變數。特點是用static修飾。所以它們還有個響噹噹的名字,叫靜態變數,靜態方法。

至此,這些多胞胎名字就搞清楚了:成員變數最大,包括例項變數和類變數,類變數=靜態變數。

2.例項變數與類變數不同:

例項變數是類例項化後,系統為其建立的一個類的例項變數的拷貝,即一個例項擁有一個例項變數。 

類變數則是用static宣告,系統為每個類變數分配一次儲存空間。即所有的例項共享一個類變數。

3.使用方法(概括:自個兒管自個兒)

 (1)例項方法可以直接訪問例項變數,呼叫例項方法;

 (2) 例項方法可以直接訪問類變數,呼叫類方法。但不推薦這麼做,原因是不清晰,容易把類變數誤認為是例項變數,把類方法誤認為是例項方法(藉助IDE,它會給出警告資訊。);

 (3)類方法可以直接呼叫類變數和類方法;

(4)類方法不能直接呼叫例項變數和例項方法;

 (5)類方法裡面不能使用“this”關鍵字,因為沒有例項存在,“this”不知道引用哪個例項。