class OuterClass { public void localInnerClassTest(){ System.out.println("<<<<<<<<<<<<<<<<测试局部内部类>>>>>>>>>>>>>>>>>"); class LocalInnerClass{ public void pritTest(){ System.out.println("我是局部内部类"); } } new LocalInnerClass().pritTest(); } }
1.4.匿名内部类
匿名内部类通过父类类名加上子类类体new出子类对象,减少了单独定义子类的环节。
1 2 3 4 5 6 7 8 9 10 11
public class OuterClass { public void anonymousInnerClassTest(){ System.out.println("<<<<<<<<<<<<<<<<测试匿名内部类>>>>>>>>>>>>>>>>>"); new AnonymousClass(){ public void printAnonymousClass(){ System.out.println("我是生成的匿名内部类"); } }.printAnonymousClass(); }
public class OuterClass { private String outerClass1 = "我是外部类的实例成员"; private static String outerClass2 = "我是外部类的静态成员";
public OuterClass() { }
public void mumberInnerClassTest() { System.out.println("<<<<<<<<<<<<<<<<1.测试成员内部类>>>>>>>>>>>>>>>>>"); System.out.println((new OuterClass.MumberInnerClass(null)).mumberInnerClass1); (new OuterClass.MumberInnerClass(null)).printOuterClassMumber(); }
public void staticInnerClassTest() { System.out.println("<<<<<<<<<<<<<<<<2.测试静态内部类>>>>>>>>>>>>>>>>>"); System.out.println((new OuterClass.StaticInnerClass(null)).staticInnerClass1); System.out.println(OuterClass.StaticInnerClass.staticInnerClass2); (new OuterClass.StaticInnerClass(null)).printOuterClassMumber(); }
public void localInnerClassTest() { System.out.println("<<<<<<<<<<<<<<<<3.测试局部内部类>>>>>>>>>>>>>>>>>"); class LocalInnerClass { LocalInnerClass() { }
public void pritTest() { System.out.println("我是局部内部类"); } }
(new LocalInnerClass()).pritTest(); }
public void anonymousInnerClassTest() { System.out.println("<<<<<<<<<<<<<<<<测试匿名内部类>>>>>>>>>>>>>>>>>"); (new AnonymousClass() { public void printAnonymousClass() { System.out.println("我是生成的匿名内部类"); } }).printAnonymousClass(); }