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