我对Android编程还是很陌生的,我注意到“这个”经常用于语言中的方法调用的参数中。我正在通过YouTube学习新波士顿的教程,但他从来没有真正详细地解释过“这个”声明的含义。谁能给我解释一下吗?也许会让它变傻一点?
发布于 2012-12-25 20:18:32
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
}
}发布于 2012-12-25 20:30:09
在android中,class.this用于传递上下文。
上下文的正式定义:它允许访问特定于应用程序的资源和类,以及对应用程序级操作(如启动活动)的向上调用。这意味着如果您需要访问资源(包括R和用户界面),则必须使用上下文。
在java中,这意味着您所在的类的实例。例如,MainActivity.this指向MainActivity的当前实例。因此,通过使用MainActivity.this.foo,您将访问MainActivity类的foo字段。
发布于 2012-12-25 20:25:29
public class YourClass {
private int YourInt;
public setTheInt(int YourInt) {
this.YourInt = YourInt;
}
}"this“用于更清楚地查看属性或函数是否属于我们正在处理的类。
另外,您可以看到setTheInt操作得到一个名为与属性相同的整数。在该函数的命名空间中,YourInt不是该类的YourInt,而是来自setTheInt调用的整数的反映。“这”有助于在这里划分外部和内部的“YourInt”。
https://stackoverflow.com/questions/14033708
复制相似问题