6

我想知道静态接口与java中没有此类关键字的普通接口有什么区别?
以及何时何地我们应该在interface之前使用static关键字。为什么我们应该使用它?可以以这个界面为例非常感谢!

public static interface Map.Entry<K,V>

4

2 回答 2

8

没有区别:static隐含的-所有接口实际上都是静态的。

使用与否或static关键字是风格问题。就个人而言,我更喜欢使用static它,因为它符合内部静态的语义。

于 2012-11-27T02:53:08.303 回答
0

接口本质上是静态的。您不能在块内声明接口。例如,以下代码摘录无法编译,因为 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();
}
于 2016-08-27T09:04:11.727 回答