2012-11-27 10 views
6

static interfaceとjavaのようなキーワードがない通常のインターフェイスの違いは何ですか?
いつ、どこでのstaticというキーワードをのインターフェイスの前に使用する必要がありますか?このインタフェースを例に取ることができます
ありがとうございました!
public static interface Map.Entry<K,V>静的インタフェースとJavaのようなキーワードのない通常のインタフェースとの違いは何ですか?

答えて

8

違いはありません:staticはを暗示される - すべてのインターフェイスが効果的に静的です。

キーワードを使用するかどうかを指定するか、またはstaticキーワードを使用するかはスタイル上の問題です。個人的には、内部スタティッククラスのセマンティクスに準拠しているので、staticを使用することを好みます。

+2

私もそれを使用することを好みます。同様に、内部の 'enum'宣言と同様に、本質的に' public'なのでアクセス修飾子なしでインターフェースメソッドを宣言する方法のように、この警告を知らない人々を混乱させません。 +1 – Brian

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(); 
} 
関連する問題