2014-10-11 251 views

回答

2

第26行有時會返回true嗎?

不,它永遠不會返回true,除非您給它提供相同的確切對象引用。

其原因是Java對象不是「嵌入」在另一箇中:在A中有對B的引用,但它指的是完全不同的對象。因此,不存在「假別名」:存儲A類實例中對類B的引用所在的位置與存儲B本身的位置不同。

+0

有沒有可能兩個對象共享相同的內存開始,雖然它們不是同一類(它們的大小不一樣)? – AlexWei 2014-10-11 13:10:08

+0

@AlexWei否,內存中的對象位置不能重疊。與允許將對象嵌入到另一箇中的其他語言(如C++)不同,Java對象通過引用包含在內。這或多或少對應於在C++中有一個指向對象的指針。 – dasblinkenlight 2014-10-11 13:12:24

相關問題