Java,两个对象,object1=object2=class/type。。。don';我不明白
我有两个实例变量,head和tail。代码中有一行: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 = 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”,并返回对该新对象的引用,该引用可作为另一个分配的一部分。谢谢你,伊万诺维奇,你的回答消除了我的困惑,我现在理解了实例引用。