public class Main {
public static void main(String[] args) throws UnsupportedEncodingException {
Outer outer=new Outer();//实例化外部类
Outer.Inner inner=outer.new Inner();//通过外部类的实例,得到内部类的实例
inner.run();//第一种访问内部类的方法
outer.run();//第二种通过外部类的方法访问内部类的方法
Outer.Inner inner2=outer.getInner();//通过外部类的getInner方法得到内部类实例
inner2.run();//第三方访问方法
}
}
class Outer{
private int a=10;
class Inner{
private int a=20;
public void run(){
int a=30;
System.out.println(a);
System.out.println(this.a);
System.out.println(Outer.this.a);
}
}
void run(){//通过外部类的方法访问内部类方法
Inner inner=new Inner();
inner.run();
}
Inner getInner(){//返回内部类给对象
Inner inner=new Inner();
return inner;
}
}