有两种方法可以在该类中引用类的实例。例如:
class Person {
String name;
public void setName(String name) {
this.name = name;
}
public void setName2(String name) {
Person.this.name = name;
}
}
一个使用this.name
来引用对象字段,而另一个使用className.this
来引用对象字段。这两个参考文献有什么不同?
发布于 2011-04-15 00:07:42
在这种情况下,它们是相同的。当您有一个需要引用其外部类实例的非静态嵌套类时,Class.this
语法非常有用。
class Person{
String name;
public void setName(String name){
this.name = name;
}
class Displayer {
String getPersonName() {
return Person.this.name;
}
}
}
发布于 2011-04-15 00:09:58
此语法仅在具有嵌套类时才变得相关:
class Outer{
String data = "Out!";
public class Inner{
String data = "In!";
public String getOuterData(){
return Outer.this.data; // will return "Out!"
}
}
}
发布于 2011-04-15 00:07:53
您只需要对内部类使用className.this。如果您不使用它们,请不要担心。
https://stackoverflow.com/questions/5666134
复制相似问题