在泛型类add()
方法的定义中(如下面的代码所示),this.t
正在做什么。我的意思是这里的“this
”一词是什么意思?我们没有在任何地方定义任何名为this
的构造函数名称吗?是这个预定义的对象吗?
public class Box<T> {
private T t;
public void add(T t) {
this.t = t; // what is " this " term here ?
}
public T get() {
return t;
}
public static void main(String[] args) {
Box<Integer> integerBox = new Box<Integer>();
Box<String> stringBox = new Box<String>();
integerBox.add(new Integer(10));
stringBox.add(new String("Hello World"));
System.out.printf("Integer Value :%d\n\n", integerBox.get());
System.out.printf("String Value :%s\n", stringBox.get());
}
}
答案 0 :(得分:1)
public class Box<T> {
private T t;
public void add(T t) {
this.t = t; // what is " this " term here ?
}
this.t
引用当前的Box实例(whitch是实际的私有变量)。基本上这就是一个二传手。您可以阅读有关setter here的更多信息。希望这有帮助!