术语THIS在泛型类方法中的含义?

时间:2015-12-30 03:01:40

标签: java

在泛型类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());
    }
}

1 个答案:

答案 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的更多信息。希望这有帮助!