当类与接口(或者是接口与接口)发生方法命名冲突的时候,此时必须使用内部类来实现。
这是唯一一种必须使用内部类的情况。
用接口不能完全地实现多继承,用接口配合内部类才能实现真正的多继承。
匿名内部类:
1.匿名内部类是一种特殊的局部内部类,它是通过匿名类实现接口。
2.不同的是他是用一种隐含的方式实现一个接口或继承一个类,而且他只需要一个对象
3.在继承这个类时,根本就没有打算添加任何方法。
4.匿名内部类大部分情况都是为了实现接口的回调。
内部接口:
在一个类中也可以定义内部接口
在接口中可以定义静态内部类,此时静态内部类位于接口的命名空间中。
在接口中还可以定义接口,这种接口默认也是public static 的,如Map.Entry就是这种接口 |