java 對象的初始化過程


類Person:

public class Person {
    private String name;
    private int age;

    public Person(String name, int age) {
        this.name = name;
        this.age = age;
    }
}

Person p = new Person("zhangsan",20);

這句話做了什么事情?

1.因為new用到了Person.class,所以會先找到Person.class文件並加載到內存中。

2.執行該類中的靜態代碼塊,如果有的話,給Person.class類進行初始化。

3.在堆內存中開辟空間,分配內存地址

4.在堆內存中建立對象的特有屬性,並進行默認初始化。

默認初始化:

  默認初始化是系統在堆內存創建一個新的對象時,進行的默認初始化,如null 和0

5.對屬性進行顯示初始化。

顯示初始化:

  顯示初始化是在類定義時,直接在各個成員變量的定義時,優先進行賦值,這叫顯示初始化。

6.對對象進行構造代碼塊初始化。

7.對對象進行對應的構造函數初始化。

8.將內存地址賦給棧內存中的p變量

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM