Java中的“对象”与“对象变量”?

2022-09-02 03:44:21

我正在自学Java,我书中的一个复习练习询问了“对象”和“对象变量”之间的区别。

我知道对象是什么(类的特定实例),但我似乎无法在书(无答案部分)或互联网上找到术语“对象变量”。

有人知道这个词的含义吗?


答案 1

我会咬人。

对象是实例本身,而对象变量是对对象的引用。

下面是一个人为的示例:

Object o = new Object();
Object ref1 = o;

在他的例子中,有一个 Object 的实例,但它被两个 Object 变量引用:o 和 ref1。

当对象变量不再引用某个对象时,将对该对象进行垃圾回收。


答案 2

它是“实例变量”的同义词:

class A {
    static int m;  // <-- class variable
    int n;         // <-- instance variable
    ...
}

显然,这个术语并不常用,最好通过坚持使用“实例变量”来避免任何潜在的歧义。