Java-嵌套接口
Java-嵌套接口 1. 什么是嵌套接口 嵌套接口可以被称为 inner interface,也可以称为 nested class。 接口可以嵌套在类或者其他接口中。 当在类中嵌套接口时可以是 public、private 以及默认包访问权限。 当在接口中嵌套接口时,其必须为 public(由于接口的性质,其默认也是public)。 为什么使用嵌套接口: 当一个接口只会在另一个接口中使用时,这样设计符合逻辑; 有利于封装(良好的框架不应该暴露给用户过多的实现细节,包括接口); 嵌套接口更具可读性以及可维护性; 在 Java 类库中一个典型的嵌套接口的例子是 java.util.Map 以及 Java.util.Map.Entry 。 java.util.Map 在这里也起到了命名空间的作用。关于命名空间详细点说就是如果这个 Entry 不做为 Map 接口的一个内部接口,那么为了说明这个接口是用于 Map 的实现的一部分,就应该取名为 MapEntry。那么对于企业级别的框架设计而言,这将会有非常多的 MapEntry。一般用户却不需要实现这些接口,但是这些接口却和 Map 这些可能被用户实现的接口在同一级别上,不利于阅读。 Entry 类不属于全局作用域,这也就意味着很多是 Entry 类型的 Entry 对象并不是 java.util.Map 类型。这里的 Java