4

我有两个实例变量,头和尾。在代码中有一行:

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

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

4

8 回答 8

13

它只是意味着:

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

所以有 2 个引用 (headtail) 指向同一个Node<E>实例。

于 2012-11-29T18:58:42.813 回答
4

这意味着有两个对 ONE Object 的引用Node

该行tail = new Node<E>();实际上返回一个等于分配值的值(在本例中为对象引用)。

于 2012-11-29T18:58:51.423 回答
3

不,只有一个created实例Node<E>但两者都head引用tail它,所以你有两个指向同一个对象的引用变量。

于 2012-11-29T18:58:57.647 回答
2

只有一个实例Nodehead和引用都tail指向同一个实例。

于 2012-11-29T18:58:40.393 回答
2

不,当然不是。

这是此代码中按顺序发生的事情。

  1. 'new' 用于创建 Node 类的实例,也就是对象
  2. 对该实例的引用存储在尾部引用中
  3. 对此实例的引用存储在头引用中。
于 2012-11-29T18:59:15.390 回答
1

2个引用headtail都分配给.Node

于 2012-11-29T18:58:45.813 回答
1

只创建一个对象,head 和 tail 都引用同一个对象。

于 2012-11-29T18:59:38.717 回答
0
object1=object2 ;

这里 Object1 一个对其他的引用意味着简单地 object2 将所有地址复制到 object1 引用

只需将 object2 复制到 object1 中

于 2018-03-02T13:17:06.680 回答