代码段:
Person p1 = new Person();
p1.age = 10;
p1.name = "小明";
Person p2 = p1; //把p1赋给p2,让p2指向p1
System.out.println(p2.age);
内存图:
解析:
当执行Person p1时;方法区加载类信息;此时堆中
堆(0x0011) |
age(int)默认:0 |
name(String)默认:null |
执行new Person时,栈中p1从指向null,改为指向类地址
栈 |
p1 —>0x0011 |
执行Person p2时;栈区
栈 |
p2 —>null |
p1赋给p2的是地址,则null变成了0x0011;