2012-11-27 3 views
6

정적 인터페이스과 Java의 같은 키워드가없는 일반 인터페이스의 차이점은 무엇입니까?
언제 어디서 정적 키워드를 인터페이스 전에 사용해야합니다. 왜 우리는 그것을 사용해야합니까? 이 인터페이스를 예로들 수 있습니다.
정말 고마워요!
public static interface Map.Entry<K,V>Java에서 이러한 키워드가없는 일반 인터페이스와 정적 인터페이스의 차이점은 무엇입니까?

답변

8

는 아무런 차이가 없습니다 : static을 암시입니다 - 모든 인터페이스를 효과적으로 정적이다.

사용 여부 또는 static 키워드는 스타일에 따라 달라질 수 있습니다. 개인적으로는 static을 내부 정적 인 클래스의 의미와 일치하도록 사용하는 것을 선호합니다.

+2

내가 너무 그것을 사용하는 것을 선호 : 인터페이스 HelloThere이 방법 greetInEnglish의 신체 내부에 정의되어 있기 때문에 예를 들어, 다음 코드 예제 를 컴파일되지 않습니다. 마찬가지로'enum' 내부 선언과 마찬가지로이 접근법을 모르는 사람들을 혼동하지 않습니다. 마치 본질적으로'public'이기 때문에 접근 수정 자없이 인터페이스 메소드를 선언 할 수있는 방법처럼 말입니다. +1 – Brian

0

인터페이스는 본질적으로 정적입니다. 블록 내부에 인터페이스를 선언 할 수 없습니다.

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(); 
} 
관련 문제