没有指针如何将一个对象分配给另一个对象?

时间:2017-05-07 09:15:33

标签: java class object

class Test {
public static void main(String []args){
    Test obj= new Test();
    Test obj1 = new Test();
    obj=obj1 ;
}

}

有人可以解释一下当我们obj = obj1时会发生什么。

1 个答案:

答案 0 :(得分:0)

基本上,引用可以实现为指针,但不是必需的。

  

可以通过存储地址来实现引用。通常是Java   引用将作为指针实现,但不是必需的   规范。他们可能正在使用额外的一层   间接使更容易的垃圾收集。但最终呢   将(几乎 总是)归结为(C风格)指针参与   (Java风格)引用的实现。

值得阅读additional info.

And

  

Java引用不是指针。它们包含某种指针   数据或其他东西,因为它来自今天的计算机的性质   体系结构,但这完全取决于JVM的实现   存储在引用值中以及它如何访问它引用的对象   至。虽然没有太有效的实施,但绝对可以   拥有一个巨大的指针数组,每个指针都指向JVM的一个对象   并且引用是该数组的索引。

     

实际上JVM将引用实现为一种指针混合,   其中一些位是标志,一些位是“指向”   相对于某个区域的某个记忆位置。