1. 類變量和類方法
介紹:
類變量也叫靜態變量/靜態屬性,是該類的所有對象共享的變量,任何一個該類的對象去訪問它時,取到的都是相同的值,同樣任何一個該類的對象去修改它時,修改的也是同一個變量。
語法:
訪問修飾符 static 數據類型? 變量名;【推薦】
static 訪問修飾符 數據類型? 變量名;
static 變量是對象共享 不管static 變量在哪里,共識:(1) static 變量是同一個類所有對象共享?
?(2)static 類變量,在類加載的時候就生成了
如何訪問類變量:
類名.類變量名
對象名.類變量名??
使用細節:
1. 當我們需要讓某個類的所有對象都共享一個變量時,就可以考慮使用類變量(靜態變量)
2. 類變量是該類的所有對象共享的,而實例變量是每個對象獨享的
3. 加上static稱為類變量或靜態變量,否則稱為普通屬性/普通成員變量/非靜態屬性/非靜態成員變量?
4. java設計者推薦使用 類名.類變量方式訪問
5. 實例變量可以通過 類名.類變量名 方式訪問
注意事項:
1. 類方法和普通方法都是隨著類的加載而加載,將結構信息存儲在方法區:類方法中無this的參數
普通方法中隱含著this的參數
2. 類方法可以通過類名調用,也可以通過對象名調用。
3. 普通方法和對象有關,需要通過對象名調用,比如對象名.方法名(參數),不能通過類名調用
4. 類方法中不允許使用和對象有關的關鍵字,比如this和super。
5. 類方法中只能訪問 靜態變量 或靜態方法。
6. 普通成員方法,即可以訪問普通變量(方法),也可以訪問靜態變量(方法)。
結語:靜態方法,只能訪問靜態的成員,非靜態的方法,可以訪問靜態成員和非靜態成員
2. main語句深入理解
介紹:
1. main方法時虛擬機調用
2. java虛擬機需要調用類的main方法,所以該方法的訪問權限必須時public
3. java虛擬機在執行main()方法時不必創建對象,所以該方法必須是static
4. 該方法接受String 類型的數組參數,數組中保存執行java命令時傳遞給所運行的類的參數
5. java執行的參數 參數1,參數2,參數3
特點提示:
1. 在main()方法中,我們可以直接調用main方法所在類的靜態方法或靜態屬性。
2. 但是,不能直接訪問該類中的非靜態成員,必須創建該類的一個實例對象后,才能通過這個對象去訪問類中的非靜態成員