面向對象上(知識點2)

1. 類的生命週期:類加載、類驗證、類準備、類解析、類初始化

2. 成員變量和局部變量

  • 成員變量無需顯示地初始化,系統會在類的準備階段或者是在創建該類的實例的時候進行默認的初始化
  • 局部變量必須顯示的進行初始化之後纔可以使用。局部變量定義之後,系統不會爲局部變量執行初始化,也不會爲他分配內存空間。只有當程序爲他賦初始值的是時候,纔會分配內存,並把我們所定義的初始值保存到內存空間。
  • Java允許局部變量和成員變量同名,但是這樣子的話,如果你還想要訪問成員變量,則必須加上this,所以應該要儘量避免這樣子的情形

例子:

class Person{
    public String name;
    public static int eyeNum;
}

如果我們這樣子的去調用他:

Person p1=new Person();

Person p2=new Person();

那麼在我們第一次使用person類的時候,系統會去加載這個類並初始化這個類,在類的準備階段,系統會爲該類的類變量分配內存空間,並且進行初始化,默認eyeNum爲0.

每次創建該類實例的時候,都會爲實例變量分配內存空間並且進行初始化,比如p1所引用的對象的name初始值就是爲null。

具體的圖我就不畫了,去書上看吧,很詳細。


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章