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