为何要有内部接口

如果你有一个类Foo和你希望其他类能够监听它的事件,你可以再另外声明一个叫FooListener的接口,需要监听Foo类的的那个类就必须要实现这个接口,但如果声明为内部接口可能会更加明确,这个接口与这个类的关系更紧密,更符合逻辑,容易维护与封装。
我自己的理解,有如下一种情况,你设计了一个抽象类,里面有属性,有方法还有抽象方法。正如你所知的,抽象类是不能被实例化的,这个时候,你又要在一个类中包含抽象方法,又要这个类被实例化,那怎么办呢?就只能使用内部接口把这些抽象类封装起来。
那么,使用了内部接口的类具备如下特点:
1. 可以直接被实例化
2. 其子类如果不明确声明implements内部接口,可以不用实现内部接口
显然这种做法的实际使用意义并不大我个人也感觉这只是为了使得语义更加明确罢了

原文地址:https://www.cnblogs.com/cascle/p/5692566.html