据我所知,Java 中的类对象实际上是对这些对象的引用。对象本身不能有变量,只能有对它的引用。
考虑以下 C++ 示例:
SomeClass A(5);
SomeClass &B = A;
SomeClass &C = B;
现在,我认为我说的对,以下所有三个语句都将使用完全相同的对象:
A.someMethod(); //some object
B.someMethod(); //the same object
C.someMethod(); //the same object
然而,在 Java 中,虽然对象实际上是引用,但使用赋值运算符将创建一个全新的对象,并为其提供新的引用。
SomeClass A = new SomeClass();
SomeClass B;
B = A;
现在,方法调用将从完全不同的对象调用:
A.someMethod(); //uses one object
B.someMethod(); //uses entirely different object
请告诉我我是对还是错。