總是被這些相似的概念搞暈,查閱了資料后做個小總結,以變量為例,方法辨析類似。
1.多胞胎名字匯總辨析
成員變量和成員方法是范圍最大的定義,提到成員變量就可以理解成你所定義在一個類體中的各類變量的統稱,成員方法亦如是。java類的成員變量包括實例變量和類變量,成員方法包括實例方法和類方法。
那么,什么是實例變量和類變量呢?
從名字分析:
實例變量,是新建了實例后才能用的變量。
類變量,是不用新建實例,直接通過類來調用的變量。特點是用static修飾。所以它們還有個響當當的名字,叫靜態變量,靜態方法。
至此,這些多胞胎名字就搞清楚了:成員變量最大,包括實例變量和類變量,類變量=靜態變量。
2.實例變量與類變量不同:
實例變量是類實例化后,系統為其創建的一個類的實例變量的拷貝,即一個實例擁有一個實例變量。
類變量則是用static聲明,系統為每個類變量分配一次存儲空間。即所有的實例共享一個類變量。
3.使用方法(概括:自個兒管自個兒)
(1)實例方法可以直接訪問實例變量,調用實例方法;
(2) 實例方法可以直接訪問類變量,調用類方法。但不推薦這么做,原因是不清晰,容易把類變量誤認為是實例變量,把類方法誤認為是實例方法(借助IDE,它會給出警告信息。);
(3)類方法可以直接調用類變量和類方法;
(4)類方法不能直接調用實例變量和實例方法;
(5)類方法里面不能使用“this”關鍵字,因為沒有實例存在,“this”不知道引用哪個實例。
---------------------
作者:SprinLa
來源:CSDN
原文:https://blog.csdn.net/youyaecho/article/details/51188392
版權聲明:本文為博主原創文章,轉載請附上博文鏈接!