C:成员内部类不是静态的:
外部类名.内部类名 对象名 = 外部类对象.内部类对象;
outer.inner oi = new outer().new inner();
D:成员内部类是静态的:
外部类名.内部类名 对象名 = new 外部类名.内部类名();
outer.inner oi = new outer.inner();
★静态修饰的类不能通过外部类的对象访问
(5)成员内部类的面试题
要求输出30,20,10
class Outer {
public int num = 10;
class Inner {
public int num = 20;
public viod show() {
int num = 30;
System.out.println(num);
System.out.println(this.num);
System.out.println(Outer.this.num);
}
}
}
注意:
内部类和外部类没有继承关系
通过外部类名限定this对象
outer.this