首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >"this“在Java中是做什么的?

"this“在Java中是做什么的?
EN

Stack Overflow用户
提问于 2014-02-17 06:29:07
回答 2查看 14.7K关注 0票数 1

我正在看一些Java的游戏开发教程,我必须使用线程,有一个“这个”的东西Thread thread = new Thread(this);我无法理解,我正在通过"Runnable“实现我的类。我的想法是,"this“指的是Runnable来寻找我在类中定义的Run方法。如果我不这样做,它就不会在我的类中查找Run()方法。不知道是不是真的错了,但是如果我错了,请纠正我……

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2014-02-17 06:31:14

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

代码语言:javascript
运行
复制
public class Person {
    private String name;
    public void setName(pName) {
        this.name = pName
    }
}

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

在上面的代码中,我们将新的name "Peter"赋值给这个person p,即Person类的当前实例。换句话说,从p的角度来看,this指向了p

票数 2
EN

Stack Overflow用户

发布于 2014-02-17 06:37:41

@Óscar López解释了this是什么意思。

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

代码语言:javascript
运行
复制
    Thread thread = new Thread(this);

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

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

代码语言:javascript
运行
复制
    public void run() 
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/21817600

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档