如果你需要生成对外部类的引用,可以使用外部类的名字后面紧跟.this,例子如下:
public class DotThis{
void f(){System.out.println("DotThis.f()");
public class Inner{
public DotThis outer(){
return DotThis.this; //return 一个外部类对象的引用
}
}
public Inner inner(){return new inner();}
public static void main(String[] args){
DotThis dt = new DotThis();
DotThis.Inner dti = dt.inner();
//调用外部类的函数f()
dti.outer().f();
}
}
当你需要生成一个内部类时,要使用.new来生成,例子如下:
public class DotNew{
public class Inner{}
public static void main(String[] args){
/*步骤1:创建一个外部对象实例对象;
步骤2:用实例.new 创建内部类实例对象。*/
DotNew dn = new DotNew();
DotNew.Inner dni = dn.new Inner();
}
}