对象创建流程public class Person{ private int age = 90; private String name; public Person(int age, String name){ this.age = age; this.name = name; } public static void main(String[] args){ Person p = new Person(20,"张三"); } } 当执行 Person p = new Person(20,"张三") ,在jvm中做了以下几件事: 将Person类信息加载到方法区中 在堆中开辟一个地址空间,地址为0x1122(我自己定义的) 默认初始化Person类中的两个成员变量,age默认初始化为0,name默认初始化null 对age字段显式初始化,将90赋给age 执行构造方法20赋给age在方法区中开辟一个空间,存放字符串"张三",Person类中的name字段引用指向这个空间。 构造器,只是完成成员变量显式初始化,而不是创建对象