匿名内部类访问方式
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(); } }