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

时间:2012-12-25 20:14:35

标签: android eclipse parameter-passing this

  

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

我仍然是学习Android编程的新手,我注意到“this”经常用于语言中方法调用的参数。我正在通过YouTube关注新波士顿的教程,但他从来没有真正详细地解释“这个”声明的含义。有人可以向我解释一下吗?也许有点愚蠢?

3 个答案:

答案 0 :(得分:4)

this指的是您当前编码的类的实例。

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

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
    }

}

答案 1 :(得分:2)

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

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

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

答案 2 :(得分:1)

public class YourClass {

     private int YourInt;

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

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

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