java中初始化,實例化,構造器

構造器與類同名

java中不管對象也好,還是基本數據類型也好,你聲明它的時候,它們都稱爲變量,在你使用變量前給變量進行賦值,這就是變量的初始值,因此叫變量初始化

實例化是指對象的創建,一般是指通過 new 關鍵字(當然還有其他途徑,比如反射),在堆中爲對象分配內存,這就是實例化。

舉個非常簡單的例子,你知道飛機會飛,但飛機在你腦海裏只是個概念,當真的把飛機制造出來,變成實實在在的,存在於物質世界(java中稱內存)的東西時,你才能用它來飛。如果在物質世界(內存)中根本就不存在,那就無法使用。

因此,實例化可以說將概念(類),變成實際存在(內存中存在)的過程就稱爲實例化。


java 對象的初始化過程

PersonDemo  p=new  PersonDemo("lisi",20);這句話都做了什麼事情?
  1. 因爲new用到了PersonDemo.class,所以會先找到PersonDemo.class文件並加載到內存中。
  2. 執行該類中的靜態成員和static代碼塊,如果有的話,給persondemo.class類進行初始化。
  3. 在堆內存中開闢空間,分配內存地址。
  4. 在堆內存中建立對象的特有屬性,並進行默認初始化。
  5. 對屬性進行顯示初始化。
  6. 對對象進行構造代碼塊初始化。
  7. 對對象進行對應的構造函數初始化。
  8. 將內存地址付給棧內存中的p變量。
理解構造器之前,首先要知道Java中爲什麼要引入構造器,以及它的作用。
假設我們每一次編寫一個類都要執行一個initialize()方法,提醒你,在使用對象之前,應先調用initialize()方法進行初始化,
這就意味着每一用戶都要去執行這個方法。
Java中引入構造器,保證每一個對象都得到初始化,Java在有能力操作對象之前,系統會自動調用相應的構造器,保證初始化的進行。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章