本帖最后由 赵孟恩 于 2012-3-14 19:48 编辑
class Person
{
String name;
int age;
void speak()
{
System.out.println("age = "+ age);
}
}
class PersonDemo
{
public static void main(String[] args)
{
Person p = new Person(); // 在堆内存中创建了一个Person对象 栈内存中的p指向该对象 对象内的默认name = null age = 0
p.age = 20; //在这进行了修改, 就是修改p指向的对象的age, 此刻堆内存中的该Person对象的 name = null age = 20
System.out.println(p.age); // 这里在次调用p.age 在栈内存中p还是指向堆内存中的Person对象 只是改变p指向对象的属性 你已经改变了p指向对象的属性
//当你再次调用p时,p指向的Person对象的属性是你改变后的
}
}
要是还是理解不清晰,建议看看毕老师第五天视频,老师已经画图了,很清晰 |