public class Outer {
private int a=20;//外部类私有属性
public class Inner{
int b=18;//内部类成员属性
public void show(){
System.out.println("外部类属性:"+a);
System.out.println("内部类属性:"+b);
}
}
public static void main(String[] args) {
Outer outer=new Outer();
//创建内部类对象
Inner inner=outer.new Inner();
//调用内部类方法
inner.show();
}
}
结果:
外部类属性:20
内部类属性:18
从结果可以看出成员内部类的方法可以直接访问外部类的数据,不受访问控制符的影响
定义了成员内部类后,必须使用外部类对象来创建内部类对象,而不能直接去 new 一个内部类对象,
即:内部类 对象名 = 外部类对象.new 内部类( );