1. 程式人生 > >對象創建、static關鍵字、靜態變量和成員變量的區別、文檔

對象創建、static關鍵字、靜態變量和成員變量的區別、文檔

所有 賦值 隨著 存儲 如何使用 我們 靜態 輸入 進行

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)然後使用。

對象創建、static關鍵字、靜態變量和成員變量的區別、文檔