[英]What is a static interface in java?
我正在阅读Map.Entry
接口,当我注意到它是一个static
接口时。 我不太明白什么是静态接口,它与常规接口有什么不同?
public static interface Map.Entry<K,V>
这是接口的定义。 此处的文档: Map.Entry<K,V> 。
我对它不是内部接口的情况很好奇。
static
修饰符只允许用于嵌套的类或接口。 在您的示例中, Entry
嵌套在Map
界面内。
对于接口, static
修饰符实际上是可选的。 这种区别对于接口没有意义,因为它们不包含任何可以访问外部this
代码。
静态内部接口与内部接口相同,所有访问规则与内部静态类相同。 因此,只有当您有权访问其父类/接口时,才能访问内部接口。 在下面的情况下,您只能从接口 A 的包中访问接口 B,因为 A 具有默认访问修饰符。 顺便说一句:接口 B 可以是静态的,也可以不是。
interface A {
void testA();
public interface B {
void testB();
}
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.