在Java中,对象赋值给另一个对象通常是通过引用的方式来实现的。这意味着赋值操作后,两个对象引用同一个对象,它们指向相同的内存地址,修改其中一个对象的属性会影响到另一个对象。
class MyClass {private int intValue;private String stringValue;// 构造函数public MyClass(int intValue, String stringValue) {this.intValue = intValue;this.stringValue = stringValue;}// Getter and Setter methodspublic 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 赋值给 obj2MyClass 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());}
}