class A{ publicstaticclass B{ } publicclass C{ } publicinterface IF{ } public IF create(){ /** *//** * local inner class */ class F implements IF{ } returnnew F(); } /** *//** * 和C#类似,好熟悉的匿名委托阿 * @return */ public IF createAnother(){ returnnew IF(){ }; } } class X implements A.IF{ } interface IShare{ class A{ } A getData(); } publicclass ClientConsole{ publicstaticvoid main(String[] args){ A.B b =new A.B(); System.out.println(b.getClass().getName()); A.C c = (new A()).new C(); System.out.println(c.getClass().getName()); A.IF x =new X(); System.out.println(x.getClass().getName()); System.out.println(x instanceof A.IF); A.IF f1 = (new A()).create(); // local inner class 仅仅显示为外部可见类型 System.out.println(f1.getClass().getName()); System.out.println(f1 instanceof A.IF); A.IF f2 = (new A()).create(); System.out.println(f2.getClass().getName()); System.out.println(f2 instanceof A.IF); System.out.println(IShare.A.class.getName()); } }