大家好,我是教授.F
在Java中,对象和对象变量是两个相关但不同的概念:
-
对象:对象是类的实例化,它是在内存中分配空间并被创建的实体。对象包含了该类的属性和方法,并且可以通过引用来访问和操作对象的内容。
-
对象变量:对象变量是指向对象的引用,它存储了对象在内存中的地址。对象变量本身并不包含整个对象,而只是指向对象的指针或引用。因此,多个对象变量可以指向同一个对象,也可以随时改变指向的对象。
下面是一个简单的示例来说明对象和对象变量的区别:
public class ObjectVariableExample {
public static void main(String[] args) {
// 创建一个对象,并将对象的引用赋给对象变量 obj1
MyClass obj1 = new MyClass();
// 将obj1的对象引用赋给对象变量 obj2
MyClass obj2 = obj1;
// 修改obj2所指向的对象的属性
obj2.setProperty("New value");
// 通过obj1访问相同的对象,输出修改后的属性值
System.out.println(obj1.getProperty()); // 输出 "New value"
}
}
class MyClass {
private String property;
public void setProperty(String value) {
this.property = value;
}
public String getProperty() {
return this.property;
}
}
在上面的示例中,obj1
和 obj2
都是对象变量,它们存储了对象在内存中的地址。当 obj2 = obj1;
执行时,obj2
指向了和 obj1
相同的对象。因此,修改 obj2
所指向的对象会影响到通过 obj1
访问相同对象时的结果。