Answers:
在这种情况下,它们是相同的。Class.this
当您有一个非静态嵌套类需要引用其外部类的实例时,该语法很有用。
class Person{
String name;
public void setName(String name){
this.name = name;
}
class Displayer {
String getPersonName() {
return Person.this.name;
}
}
}
Person.this
另一个对象。
Class.this
引用非静态很有用OuterClass
。
要实例化非静态对象InnerClass
,必须首先实例化.static OuterClass
。因此,非静态变量InnerClass
将始终具有其引用,OuterClass
并且的所有字段和方法OuterClass
都可用于InnerClass
。
public static void main(String[] args) {
OuterClass outer_instance = new OuterClass();
OuterClass.InnerClass inner_instance1 = outer_instance.new InnerClass();
OuterClass.InnerClass inner_instance2 = outer_instance.new InnerClass();
...
}
在此示例中,两者Innerclass
都是从相同的实例化的,Outerclass
因此它们对的引用相同Outerclass
。