对象创建的流程分析

76 阅读1分钟
public class Person {
    int age = 10;
    String name;
    
    public Person(int age, String name) {
        this.age = age;
        this.name = name;
    }
}

Person p = new Person(20,"zzz")
  • 创建一个对象,首先在方法区加载类信息 这里是 Person,只会加载一次

  • new的时候 在堆中开辟空间

  • 默认初始化属性 age = 0 name= null

  • 对属性进行显示的初始化(赋值) age = 10 , name还是为null。

  • 通过构造器对属性赋值 age =20 name =zzz

  • 对象在堆中的地址返回给p