内部类访问外部类的一个例子:
public class Abc { private class Bc { public void print() { System.out.println(Abc.this.self()); } } private Bc bc = new Bc(); public String self() { return "Abc"; } public void print() { bc.print(); } }
public class Cde extends Abc { @Override public String self() { return "cde"; } public static void main(String[] args) { Cde c = new Cde(); c.print(); } }
执行Cde的main方法,输出为“cde”。
说明Abc.this代表的是运行时对象,而不是Cde父类Abc的对象。