“ link=new LinkedList();//在DuiLie的构造函数里link是谁的对象?如果是LinkedList的为什么不可以写成这样 LinkedList link=new LinkedList();呢?”是LinedList对象,至于为什么不写成"LinkedList link=new LinkedList();"原因有两个方面。第一个方面是在构造函数DuiLie使用了LinkedList link=new LinkedList();得到的对象并不会赋给成员变量link, 因为构造函数里也有一个变量link,它屏蔽掉了成员变量link,那后面对成员变量link的操作都无意义,就算去掉“ private LinkedList link;”也没有用,因为构造函数调用完之后,LinkedListd对象会释放。第二个方面是如果把“LinkedList link=new LinkedList();”放在成员变量的位置,那它下面的构造函数就无意义了,就不应该写。如果楼主的意思是把“LinkedList link=new LinkedList();”放在成员变量的位置,不写构造函数,那是可以的。至于你要问为什么写此代码的人不这样写,原因是个人习惯,他喜欢那样写。 |