인터페이스의 모든 메소드는 기본적으로 공개 된 공개 모드입니까?인터페이스의 메소드 가시성
답변
인터페이스의 모든 메소드의 기본값은 public
입니다.
는 인터페이스의 모든 구성원은 암시 public
입니다
을 명시 Java Language Specification 6.6.1 참조하십시오.
그들은'public' 디폴트 **와'public'만이 유일하게 허용 된 값입니다. –
JLS를 참조하기위한 +1 (일반적으로 인용문이 있음) –
하지만 ** rodion * (*** 로컬/개인 인터페이스 *** 자체)의 ** 답변/"해결 방법"**이 중요합니다. http://stackoverflow.com/a/5420362/1915920 –
예, 인터페이스의 모든 방법을 공개하고, 다른 액세스 한정자를 가질 수 없습니다
예, 인터페이스의 모든 메소드 (즉, 기본 공용 액세스 한정자는 유일하게 유효한 액세스 한정자입니다) 암시 적으로 공개적이고 추상적입니다.
확인 9.4
모든 인터페이스 방법 public abstract
내용입니다 Java language specification 장에서는, 모든 인터페이스 필드는
public static final
있습니다.
+1 : 그리고 모든 중첩 클래스는'public static'입니다. –
인터페이스에는 상태 (인스턴스 변수)가없는 것이 가장 좋습니다. 전지. 인터페이스는 기능 또는 객체가 수행 할 수있는 것을 정의해야합니다. – hotshot309
여기에 다른 대답을 추가하십시오. 모든 메소드는 public이지만, 인터페이스 자체가 패키지 로컬 인 경우 모든 메소드도 package-local입니다.
따라서 패키지 로컬 인터페이스를 공용으로 확장하여 공용 및 패키지 로컬 메서드를 혼합 할 수 있습니다.
public interface P{
void iAmPublic();
}
interface L extends P{
void iAmPackageLocal();
}
여기 L
효과적 일 개 공개 한 패키지 로컬 방법이있다. 패키지 외부의 클라이언트는 iAmPublic()
만 볼 수 있지만 패키지 안의 클라이언트는 두 가지 방법을 모두 볼 수 있습니다.
동일한 방법으로 다른 클래스 내부의 인터페이스를 중첩하여보다 가벼운 메소드 가시성을 확보 할 수 있습니다.
당신의 메소드'iAmPackageLocal'은 package-private이 될 수 없습니다. http://stackoverflow.com/a/4801672/16209를 참조하십시오. –
첫 번째 문장에서 설명했듯이 메서드는 선언없이 선언 할 수 없으므로 메서드가 효율적으로 * package-private입니다. 인터페이스는 동일한 게시물에 명시된대로 패키지 전용이 될 수 있습니다. 패키지 외부에서'P # iAmPublic()'에만 접근 할 수 있지만 패키지 안의 두 메소드 모두에 접근 할 수 있기 때문에 원하는 효과를 얻을 수 있습니다. 패키지 내에'public L getL();'메소드를 가진 API를 가지고 있고 패키지 외부에서'getL(). iAmPackageLocal()'을 호출하면 컴파일러 에러가 발생합니다. – rodion
'public class PseudoPrivate는 L –
- 1. C++ 인터페이스의 개인 메소드?
- 2. Java 인터페이스의 선택적 메소드
- 3. 조언이 필요합니다 : 자바 인터페이스의 정적 메소드
- 4. DataSource 인터페이스의 HashMap 구현 : nextRow() 메소드?
- 5. bean에서 메소드 속성 가시성 (thread safe 또는 not!)
- 6. 인터페이스의 구현 특정 메소드 - 어떻게 피할 수 있습니까?
- 7. 인터페이스의 메소드 선언에 수정자를 액세스 할 수 있습니까?
- 8. 패키지 가시성
- 9. 가시성 일정
- 10. 인터페이스의 문제점
- 11. 인터페이스의 속성
- 12. 인터페이스의 변수
- 13. 보기 모델 인터페이스의 WPF 속성?
- 14. jdbc의 createStatement 메소드
- 15. Three20의 속성 가시성 변경
- 16. WPF 이미지 가시성
- 17. ThumbnailToolBarButton에 대한 가시성 설정
- 18. IValueConverter 가시성 속성
- 19. 레이아웃 관리자의 가시성 문제
- 20. cc.net 프로젝트 가시성
- 21. MDI 자식 폼은 가시성
- 22. 레일에서 세션 변수의 가시성
- 23. CSS 속성 : 표시와 가시성
- 24. JQuery와 asp.net 버튼 가시성
- 25. Objective-C++ 가시성 질문
- 26. 팝업 대 가시성 전환
- 27. GridView 조건부 버튼 가시성
- 28. PHP 객체 지향 가시성
- 29. Argo UML에서 가시성 표시
- 30. 추상 클래스의 속성 가시성
시간이 있다면, 첫 번째 팀의 머리로 SCJP for Java 6 prep 가이드를 읽는 것이 좋습니다. 거기에 많은 정보. 인터페이스 메소드는 기본적으로 추상 및 공개입니다. – zawhtut