内部类定义方法:
class A { class B { } }
编译后将生成:A.class 和 A$B.class
内部类B可以使用外部类A的成员变量和成员属性
生成内部类对象: 先生成外部类对象.再生成内部类
class Test { public static void main(String args[]){ A a = new A(); A.B b = new A().new B(); // 或 a.new B(); } }
匿名内部类:没有名字
interface A { public void dowork(); }
class B { public void dowork(A a){ a.dowork(); } }
class Test { public static void main(String args[]){ B b =new B(); b.dowork(new A(){ public void dowork(){ System.out.println("匿名内部类"); }; }); } }