1、成员内部类访问方式,外部类类名.内部类类名 变量名 = new 外部类类名().new 内部类类名(); 变量名.内部类方法调用。
2、局部内部类访问方式,外部类方法中创建内部类对象,内部类对象调用内部类方法,最后创建外部类对象调用外部类方法从而间接调用内部类方法。
代码示例:
package cn.zxj.com;
public class Outer {
private int i = 1;
//成员内部类
public class MemberInner{
int i =2;
public void In(){
int i = 3;
System.out.println(Outer.this.i);
System.out.println(this.i);
System.out.println(i);
System.out.println("我是成员内部类");
}
}
public void Ou(){
int i = 4;
//局部内部类
class PartInner{
int i =5;
public void In(){
int i = 6;
System.out.println(Outer.this.i);
System.out.println(this.i);
System.out.println(i);
System.out.println("我是局部内部类");
}
}
PartInner partInner = new PartInner();
partInner.In();
}
}
package cn.zxj.com; class Test { public static void main(String[] args){ //访问成员内部类 Outer.MemberInner memberInner = new Outer().new MemberInner(); memberInner.In(); //访问局部内部类 Outer o = new Outer(); o.Ou(); } }