Java中“this”有什么作用?

时间:2014-02-16 22:29:07

标签: java this

k,我正在阅读Java的一些游戏开发教程,我必须使用Threads并且有一个“这个”的东西 Thread thread = new Thread(this); 我无法理解,我正在通过“Runnable”实现我的类。我的想法是,“this”指的是Runnable寻找我在MY Class中定义的Run方法。如果我不这样做,它将不会在我的类中寻找Run()方法。不知道如果M-Effed,但请纠正我如果我错了......

2 个答案:

答案 0 :(得分:2)

this是一个pseudo-variable,指向当前实例,指向正在执行方法的对象本身。例如:

public class Person {
    private String name;
    public void setName(pName) {
        this.name = pName
    }
}

Person p = new Person();
p.setName("Peter");

在上面的代码中,我们将新的name "Peter"分配给p,即班级{{1}的当前实例}。换句话说,从Person的角度来看,p指的是this

答案 1 :(得分:0)

@ÓscarLópez解释了this的含义。

如果您的代码包含以下内容:

    Thread thread = new Thread(this);

然后this指的是包含该语句的类的实例。此外,它是运行代码的 实例。此外,Thread构造函数的API规范意味着this需要是实现Runnable的类的实例。

简而言之,您的类需要声明为implements Runnable,并且需要有一个带有此签名的方法:

    public void run()