Java,两个对象,object1=object2=class/type。。。don';我不明白

Java,两个对象,object1=object2=class/type。。。don';我不明白,java,class,object,instance,Java,Class,Object,Instance,我有两个实例变量,head和tail。代码中有一行: head = tail = new Node<E>(); head=tail=newnode(); 这是否意味着类节点有两个实例,head和tail?这里我很困惑。只有一个节点的实例。头和尾都指向同一个实例。它只是指: tail = new Node<E>(); head = tail; tail=新节点(); 头=尾; 因此,有两个引用(head和tail)指向相同的节点实例。这两个引用head和tail都被

我有两个实例变量,head和tail。代码中有一行:

head = tail = new Node<E>();
head=tail=newnode();

这是否意味着类节点有两个实例,head和tail?这里我很困惑。

只有一个
节点的实例。头和尾都指向同一个实例。

它只是指:

tail = new Node<E>();
head = tail;
tail=新节点();
头=尾;

因此,有两个引用(
head
tail
)指向相同的
节点
实例。

这两个引用
head
tail
都被分配给
节点
的同一个实例,这意味着对一个对象
节点
有两个引用

tail=newnode()
实际上返回一个与赋值相等的值(在本例中为对象引用)。

否,只创建了一个
节点的实例,但
头和
尾都引用了它,因此有两个引用变量指向同一个对象。

否当然不是

object1=object2 ;
下面是代码中发生的事情,按顺序

  • “new”用于创建节点类的实例,也称为对象
  • 对该实例的引用存储在tail引用中
  • 对该实例的引用存储在head引用中

  • 只创建一个对象,头部和尾部都引用同一个对象

    object1=object2 ;
    
    这里Object1引用另一个表示简单地将object2的所有地址复制到Object1引用


    简单地将object2复制到object1中

    没有冒犯的意思,但是这个答案不是很好。这个问题表明对“实例”和“参考”是什么缺乏理解。imho,这个答案并没有说明这一点。我想指出的是,这种方法之所以有效,是因为java中的赋值语句具有返回值。IE:
    tail=new Node()
    将新对象分配给变量“tail”,并返回对该新对象的引用,该引用可作为另一个分配的一部分。谢谢你,伊万诺维奇,你的回答消除了我的困惑,我现在理解了实例引用。