所以你可以认为内部类提供了某种进入其外层类的窗口。接口解决了部分问题,而内部类有效地实现了“多重继承”。从中可发现,要想调用内部类的自定义的方法,必须通过内部类的对象来调用。关于匿名内部类还有如下两条规则:1)匿名内部类不能是抽象类,因为系统在创建匿名内部类的时候,会立即创建内部类的对象。因此不允许将匿名内部类定义成抽象类。类似于speak方法的使用,先在Person接口中声明say()方法,再在匿名内部类中覆写此方法。

Java内部类和匿名内部类的用法说明

Java内部类和匿名内部类的用法说明

Java内部类和匿名内部类的用法说明