public CharList(CharList l)
{
// Whatever method your CharList provides to get the
// first node in the list goes here
CharNode pt = l.head();
// create a new head node for *this* list
CharNode newNode = new CharNode();
this.head = newNode;
// Go through old list, copy data, create new nodes
// for this list.
while(pt != null)
{
newNode.setCharacter(pt.getCharacter());
pt = pt.getNext();
if (pt != null)
{
newNode.setNext(new CharNode());
newNode = newNode.getNext();
}
}
}
我认为这用于引用对象A,如“A.addElement(car);”,但在这种情况下我不知道这是指什么...而且我没有看到指向:this.head = newNode;因为this.head永远不会再使用了。
答案 0 :(得分:3)
this
引用CharList
的当前实例,this.head
引用实例字段head
。如果没有同名的局部变量,您可以放弃this
关键字来访问实例字段。
答案 1 :(得分:1)
docs解释此的内容:
在实例方法或构造函数中,这是对当前对象的引用 - 正在调用其方法或构造函数的对象。您可以使用此方法在实例方法或构造函数中引用当前对象的任何成员。
关键字this
是指CharList
的当前实例。它可用于引用可能在类级别共享相同的变量,否则可以省略。
此处,head
的构造函数中没有出现局部变量CharList
,因此可以写成:
head = newNode;
答案 2 :(得分:0)
this.head永远不会再使用了。
由于head
是类的成员变量,因此构造函数中设置的值将用于该类的其他方法。
答案 3 :(得分:0)
What is the meaning of "this" in Java?可能重复,但无论如何:
它是对您正在使用的对象的特定实例的引用。所以,如果我有(用C#写这个,对不起):
public class MyObject
{
public MyObject(string AString)
{
MyString = AString;
}
private string MyString;
public string WhatsMyStringCalled()
{
return this.MyString;
}
}
如果我要构造一个MyObject实例,我希望WhatsMyStringCalled返回与该特定实例关联的MyString属性。