成员内部类的面试题
class Test01_InnerClass {
public static void main(String[] args){
Outer.Inner oi = new Outer().new Inner();
oi.show();
}
}
//要求:使用已知的变量,在控制台输出30, 20, 10。
//内部类之所以能获取到外部类的成员,是因为他能获取到外部类的引用:外部类名.this
class Outer{
public int num = 10;
class Inner{
public int num = 20;
public void show(){
int num = 30;
//就近原则
System.out.println(num);
//20为内部类的一个成员
System.out.println(this.num);
//Inner不是Outer的子类,而是内部类,super就不行
System.out.println(Outer.this.num);
}
}
}