Person p = new Person();
这句话在内存中都做了什么??
列出供大家参考:
1,将Person.class加载进内存;
2,在堆内存中开辟空间;
3,把Person中的属性默认初始化;
4,把Person中的属性显示初始化;
5,调用构造代码块(没有则不执行)
6,调用构造函数初始化;
7,在栈内存中声明Person类型变量P,
8,把堆内存中的地址赋给P;
默认初始化是虚拟机做的事情,和你没有关系
你在类中定义成员变量时,后面赋上的值就是显示初始化
class Person
{
String name = "张三";
int age = 20;
}
默认初始化的时候name的值是null,age是0
显示初始化时name就成了张三,age就成了20
希望这样能帮你理解