HashSet는 인터페이스를 구현합니다. set 인터페이스를 확장합니다. iterable 인터페이스를 확장합니다. HashSet이 Iterable 인터페이스를 구현한다고 말 할 수 있습니까? JVM 런타임 및 클래스로드 측면에서이 모양은 어떻게됩니까? 거기에는 HashSet (모든 Iterable 메소드 포함)이라는 하나의 큰 클래스가 생성 되었습니까?은 구현의 수퍼 클래스로 간주되어 구현 된 인터페이스입니까?
1
A
답변
2
클래스 A가 인터페이스 X를 구현하고 인터페이스 X가 인터페이스 Y를 확장하면 A는 인터페이스 Y도 구현합니다. 이것이 확장 인터페이스가 작동하는 방법입니다. 다른 인터페이스의로드를 구현하는 경우에도 여전히 하나의 클래스입니다.
인터페이스는 단지 스펙 일 뿐이며, 일부 클래스는 특정 메소드 세트를 제공한다고 선언합니다. 인터페이스가 다른 인터페이스를 확장 할 때,이 인터페이스는 모든 메소드와 추가 된 인터페이스를 통합합니다. 따라서 해당 인터페이스를 구현하는 모든 클래스는 모든 인터페이스 및 해당 수퍼 인터페이스로 지정된 모든 메소드를 제공해야합니다.
그렇습니다. HashSet은 Iterable 인터페이스를 구현합니다. http://docs.oracle.com/javase/7/docs/api/java/util/HashSet.html
관련 문제
- 1. Java List는 구현 된 메소드가있는 인터페이스입니까?
- 2. PHP에서 수퍼 클래스로 변환
- 3. 수퍼 클래스로 전달 클래스
- 4. GWT - 수퍼 클래스로 직렬화
- 5. 은 플래시 비동기 또는 동기화의 외부 인터페이스입니까?
- 6. 추상 수퍼 클래스에서 구현 된 수퍼 인터페이스 메서드에 대한 측면
- 7. specs2 : 수퍼 클래스로 일반적인 이동
- 8. 수퍼 클래스에서 하위 클래스로 인쇄하려고합니다.
- 9. 일반 클래스로 노드 구현
- 10. 구현 및 이미 수퍼 클래스에 의해 구현 된 인터페이스?
- 11. 부분 클래스로 인터페이스 구현
- 12. haskell은 'downcast'타입 인터페이스입니까?
- 13. 인터페이스가 여러 클래스로 구현 된 종속성 삽입
- 14. Typescript 클래스로 구현 된 AngularJs 지시문 등록
- 15. 제네릭 메서드 구현을 추상 수퍼 클래스로 이동
- 16. 수퍼 클래스로 캐스팅하고 재정의 메서드 호출
- 17. 수퍼 클래스로 선언 된 인스턴스의 서브 클래스 유형 찾기
- 18. 동적으로로드 된 jar 파일에서 수퍼 클래스로 Java 클래스로드
- 19. 은 JavaScript에서 클래스로 사용됩니다.
- 20. SharedPreferences : 클래스 또는 인터페이스입니까?
- 21. getchar()은 어떻게 구현 되었습니까?
- 22. 수퍼 클래스에있는 이클립스 "오픈 구현"
- 23. Hibernate를 사용하여 서브 클래스를 수퍼 클래스로 유지
- 24. 몇 가지 메서드를 수퍼 클래스로 이동하는 방법
- 25. 수퍼 클래스 배열에서 하위 클래스로 전달
- 26. 수퍼 클래스에서 하위 클래스로 변수 호출
- 27. 수퍼 클래스를 Android에서 하위 클래스로 캐스팅
- 28. 왜 예외를 수퍼 클래스로 사용해야 하는가? BaseException
- 29. java - 클래스를 라이브러리 수퍼 클래스로 확장
- 30. 수퍼 클래스에서 하위 클래스로 생성자를 상속하는 방법
인터페이스는 클래스가 아니므로 인터페이스를 수퍼 클래스라고 부르는 것이 좋습니다. 수퍼 유형은 인터페이스가 유형을 정의하지만 클래스는 정의하지 않으므로보다 정확한 용어입니다. – Bobulous
[Virtual calls] (https://wiki.openjdk.java.net/display/HotSpot/VirtualCalls) 및 [interface calls] (https : //wiki.openjdk.)의 HotSpot (OpenJDK JIT) 구현에 대한 설명서를 참조하십시오. java.net/display/HotSpot/InterfaceCalls). –