两个对象有相同的引用肯定是一样的吗?

时间:2014-10-11 12:58:12

标签: java reference equals

enter image description here

我的问题基于第26行。 这是我的分析:

Class A
{
  intstance variable: Class B;
}

如果我使用

A.equals(Class B)

第26行有时会返回true吗?

因为在c ++中,指针在某些情况下会指向相同的地址。

1 个答案:

答案 0 :(得分:2)

  

第26行有时会返回true吗?

不,它永远不会返回true,除非您提供相同的对象引用。

原因是Java对象没有彼此“嵌入”:B内部有A的引用,但它指的是一个完全不同的对象。因此,不可能出现“错误别名”:存储类B实例中类A的引用的位置与存储B本身的位置不同