我想知道在Java中带有static关键字的接口和普通接口之间有什么不同?
何时何地我们应该在interface之前使用static关键字?为什么我们要使用它?你可以以这个接口作为例子。
非常感谢!public static interface Map.Entry<K,V>
我想知道在Java中带有static关键字的接口和普通接口之间有什么不同?
何时何地我们应该在interface之前使用static关键字?为什么我们要使用它?你可以以这个接口作为例子。
非常感谢!public static interface Map.Entry<K,V>
没有区别:static
是隐含的 - 所有接口实际上都是静态的。
使用或不使用static
关键字是一种风格问题。个人而言,我更喜欢使用static
,因为它符合内部静态类的语义。
接口本质上是静态的。 您不能在块内声明接口。例如,以下代码摘录无法编译,因为接口HelloThere定义在方法greetInEnglish的主体内:
public void greetInEnglish() {
interface HelloThere {
public void greet();
}
class EnglishHelloThere implements HelloThere {
public void greet() {
System.out.println("Hello " + name);
}
}
HelloThere myGreeting = new EnglishHelloThere();
myGreeting.greet();
}