问题是这样的,创建对象时,比如 Person p1,没有初始化,这样创建的时候堆空间有这个对象的位置吗?,这个p1又指向那个位置呢 可以用set方法给成员变量赋值吗?如果能赋值说明堆空间有分配空间,可是他也没有用构造方法,堆空间怎么会开辟一个空间给这个对象?
Person p; 这样只是在栈中声明了一个对象名。没有new的话就没有在堆里给这个对象分配空间。这个时候就不能用set给对象赋值。Person p仅仅是对对象的声明,相当于对对象的引用。
问题是这样的,创建对象时,比如 Person p1,没有初始化,这样创建的时候堆空间有这个对象的位置吗?,这个p1又指向那个位置呢 可以用set方法给成员变量赋值吗?如果能赋值说明堆空间有分配空间,可是他也没有用构造方法,堆空间怎么会开辟一个空间给这个对象?
Person p; 这样只是在栈中声明了一个对象名。没有new的话就没有在堆里给这个对象分配空间。这个时候就不能用set给对象赋值。Person p仅仅是对对象的声明,相当于对对象的引用。