首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在Android中,“这”作为参数意味着什么?

在Android中,“这”作为参数意味着什么?
EN

Stack Overflow用户
提问于 2012-12-25 20:14:34
回答 3查看 4.6K关注 0票数 0

可能重复: What is the meaning of “this” in Java?

我对Android编程还是很陌生的,我注意到“这个”经常用于语言中的方法调用的参数中。我正在通过YouTube学习新波士顿的教程,但他从来没有真正详细地解释过“这个”声明的含义。谁能给我解释一下吗?也许会让它变傻一点?

EN

回答 3

Stack Overflow用户

发布于 2012-12-25 20:18:32

this指的是当前正在编写代码的类的实例。

您不能在静态上下文中使用它,因为在这种情况下,您不在任何对象上下文中。因此,this不存在。

代码语言:javascript
复制
public class MyClass {

    public void myMethod(){
        this.otherMethod(); // Here you don't need to use 'this' but it shows the concept
    }

    private void otherMethod(){

    }

    public static void myStaticMethod(){
       // here you cant use 'this' as static methods don't have an instance of a class to refer to
    }

}
票数 4
EN

Stack Overflow用户

发布于 2012-12-25 20:30:09

在android中,class.this用于传递上下文。

上下文的正式定义:它允许访问特定于应用程序的资源和类,以及对应用程序级操作(如启动活动)的向上调用。这意味着如果您需要访问资源(包括R和用户界面),则必须使用上下文。

在java中,这意味着您所在的类的实例。例如,MainActivity.this指向MainActivity的当前实例。因此,通过使用MainActivity.this.foo,您将访问MainActivity类的foo字段。

票数 2
EN

Stack Overflow用户

发布于 2012-12-25 20:25:29

代码语言:javascript
复制
public class YourClass {

     private int YourInt;

     public setTheInt(int YourInt) {
         this.YourInt = YourInt;
     }
}

"this“用于更清楚地查看属性或函数是否属于我们正在处理的类。

另外,您可以看到setTheInt操作得到一个名为与属性相同的整数。在该函数的命名空间中,YourInt不是该类的YourInt,而是来自setTheInt调用的整数的反映。“这”有助于在这里划分外部和内部的“YourInt”。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/14033708

复制
相关文章

相似问题

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