在Java中,对象赋值给另一个对象通常是通过引用的方式来实现的。这意味着赋值操作后,两个对象引用同一个对象,它们指向相同的内存地址,修改其中一个对象的属性会影响到另一个对象。
class MyClass {
private int intValue;
private String stringValue;
// 构造函数
public MyClass(int intValue, String stringValue) {
this.intValue = intValue;
this.stringValue = stringValue;
}
// Getter and Setter methods
public int getIntValue() {
return intValue;
}
public void setIntValue(int intValue) {
this.intValue = intValue;
}
public String getStringValue() {
return stringValue;
}
public void setStringValue(String stringValue) {
this.stringValue = stringValue;
}
}
public class Main {
public static void main(String[] args) {
// 创建一个对象并初始化
MyClass obj1 = new MyClass(10, "Hello");
// 将 obj1 赋值给 obj2
MyClass obj2 = obj1;
// 打印 obj1 和 obj2 的属性值
System.out.println("obj1: intValue=" + obj1.getIntValue() + ", stringValue=" + obj1.getStringValue());
System.out.println("obj2: intValue=" + obj2.getIntValue() + ", stringValue=" + obj2.getStringValue());
// 修改 obj1 的属性值
obj1.setIntValue(20);
obj1.setStringValue("World");
// 再次打印 obj1 和 obj2 的属性值
System.out.println("After modification:");
System.out.println("obj1: intValue=" + obj1.getIntValue() + ", stringValue=" + obj1.getStringValue());
System.out.println("obj2: intValue=" + obj2.getIntValue() + ", stringValue=" + obj2.getStringValue());
}
}