为什么java提供了在接口内声明接口的工具

May*_*urB 10 java interface

我正在尝试内部类的不同组合.我想知道java为您提供了在接口内部编写接口的工具.它不会给我任何编译时错误.谁能告诉我这有什么用呢?

public interface IA {

    public interface IB{

    }
}
Run Code Online (Sandbox Code Playgroud)

aka*_*IOT 9

这使您可以将子接口放在可能比不同的包更有意义的命名空间中.Java API的一个很好的例子是Map.Entry接口.一个Entry只有真正有意义的东西的情况下实现的Map接口,所以它被定义为一个接口内部的接口.

注意不是与内部其他,内部接口总是静态的,如杰西·格里克在提到他的回答到一个相关的问题.