8_物件建立、static 關鍵字、靜態變數和成員變數的區別、文件
一、物件建立
Student s = new Student();
步驟:
(1)載入 Student.class 檔案進記憶體;
(2)在棧記憶體中為 s 開闢空間;
(3)在堆記憶體為學生物件開闢空間;
(4)對學生物件的成員變數進行預設初始化;
(5)對學生物件的成員變數進行顯示初始化;
(6)通過構造方法對學生物件的成員變數賦值;
(7)學生物件初始化完畢,把物件地址賦值給s變數。
二、static關鍵字
1、特點:
(1)隨著類的載入而載入;
(2)優先於物件存在;
(3)被類的所有物件共享;
(4)可以通過類名直接呼叫。
2、注意事項:
(1)在靜態方法中沒有 this 關鍵字;
(2)靜態方法只能訪問靜態的成員變數和成員方法。
三、靜態變數和成員變數的區別
1、所屬不同
靜態變數屬於類,所以也稱為類變數;
成員變數屬於物件,所以也稱例項變數。
2、記憶體中位置不同
靜態變數儲存於方法區的靜態區;
成員變數儲存於堆記憶體。
3、記憶體出現的時間不同
靜態變數隨著類的載入而載入,隨著類的消失而消失;
成員變數隨著物件的建立而存在,隨著物件的消失而消失。
4、呼叫不同
靜態變數可以通過類名呼叫,也可以通過物件呼叫;
成員變數只能通過物件名呼叫。
四、文件
如何使用JDK提供的幫助文件
(1)找到文件,開啟文件;
(2)點選顯示,找到索引,出現輸入框;
(3)舉例:找 Scanner;
(4)看這個類的結構(需不需要導包),java.util包下的內容需要我們手動匯入;
(5)看這個類的說明;
(6)看開始版本;
(7)看構造方法;
(8)看成員方法,左邊,是否為static,如果是就不需要建立方法,直接呼叫該方法,看返回值就使用什麼接收;右邊,看引數列表:個數,型別,需要什麼引數就傳什麼;
(9)然後使用。