匿名内部类访问方式
1.内部类可以直接访问外部内的成员 包括私有成员
2.外部内要访问内部类成员或方法,必须要创建对象
3.访问方式:外部类.内部类 对象名=外部类对象.内部类对象
案例一:
class OuterClass {
private int num=10;
class InnerClass{
public void show(){
System.out.println(num);
}
}
public void method(){
InnerClass iClass= new InnerClass();
iClass.show();
}
}
测试一:
class TestDemo{
public static void main(String[] args) {
OuterClass.InnerClass oi=new OuterClass().new InnerClass();
oi.show();
}
}
案例二:
class OuterClass2 {
public int num=30;
class InnerClass{
public int num =20;
public void show(){
int num=10;
System.out.println(num);//20
System.out.println(this.num);//20
System.out.println(OuterClass2.this.num);//30
}
}
public static void main(String[] args) {
OuterClass2.InnerClass ic = new OuterClass2().new InnerClass();
ic.show();
}
}
案例三:
class OuterClass3 {
public int num=30;
public void method() {
//局部内部类访问局部变量 局部变量必须是final的
final int num2=20;
class InnerClass{
private void show() {
System.out.println(num2);
}
}
InnerClass ic=new InnerClass();
ic.show();
}
public static void main(String[] args) {
OuterClass3 oc = new OuterClass3();
oc.method();
}
}