思考:一个对象赋给另一个对象,两个对象的成员变量是否相同?老师,这是第三题 我写的注释答案,请老师检查下
来源:8-11 测评作业

unbreakable_全栈
2024-11-23
// 3、思考:一个对象赋给另一个对象,两个对象的成员变量是否相同?
public static void main(String[] args) {
// 创建对象
Children child1 = new Children();
child1.age = 6;
/**
* 在 Java 中,当您执行 Children child2 = child1; 这行代码时,实际上您并没有创建一个新的 Children 对象。
* 相反,您是将 child2 引用设置为指向 child1 引用所指向的同一个对象。这意味着 child1 和 child2 是同一个对象的两个不同引用。
* 因此,当您通过 child2 引用更改 age 属性时,由于 child1 和 child2 引用的是同一个对象,child1.age 也会反映出这个更改。所以,child1.age 和 child2.age 是相同的。
*/
Children child2 = child1;
child2.age = 11;
System.out.println("child1 age: " + child1.age); // 11
System.out.println("child2 age: " + child2.age); // 11
// 这表明 child1 和 child2 引用的是同一个对象,并且它们的 age 属性值是相同的。因此,答案是 child1 和 child2 是同一个对象,child1.age 和 child2.age 的值相同。
}
}
public class Children {
// 成员变量
int age;
// 成员方法
public void play() {
System.out.println("快乐童年,尽情玩耍");
}
}
在这里输入代码
写回答
1回答
-
彭彭老师
2024-11-25
是的,child1 和 child2 是同一个对象。child1 存储的是对象在堆内存中地址值,通过地址指向堆内存空间,把 child1 赋给 child2 对象,传递的是地址值,child1 和 child2 地址相同,指向的堆内存空间相同,所以对应的成员变量 age 是同一个。
00
相似问题