我有两个实例变量,head和tail。在代码中有一行:
head = tail = new Node<E>();
这是否意味着类 Node 有两个实例,头和尾?我在这里很困惑。
它只是意味着:
tail = new Node<E>();
head = tail;
所以有2个引用(head
和tail
)指向同一个Node<E>
实例。
这意味着有两个对一个对象的引用Node
。
该行实际上返回tail = new Node<E>();
等于分配值的值(在本例中为对象引用)。
不,只创建了一个Node<E>
实例,但head
和tail
都引用它,因此您有两个指向同一对象的引用变量。
只有一个Node
实例。head
和tail
引用都指向同一实例。
不,当然不是。
下面是此代码中按顺序发生的情况。
- "new"用于创建 Node 类的实例,也称为对象
- 对此实例的引用存储在尾部引用中
- 对此实例的引用存储在 head 引用中。
只创建一个对象,头部和尾部都引用同一个对象。
head
和tail
的 2 个引用都分配给 Node
的同一个实例。
object1=object2 ;
这里 Object1 一个引用到另一个意味着简单地将 object2 复制到对象 1 引用的所有地址
简单地将对象 2 复制到对象 1 中