2013-07-30 4 views
1

일반적인 "답변이없는 질문은"입니까? Java는 다중 상속을 지원합니까?다중 상속 및 인터페이스

(Oracle) JVM에서이 규칙을 처리하는 방법에 대해 자세히 알고 싶습니다.

런타임시 JVM에는 인터페이스에 대한 개념이 있습니까? 아니면 메소드를 구현하지 않는 추상 클래스처럼 취급합니까?

다른 말로하면 내 코드가 이렇게 될까요?

내 코드 :

public class A extends B implements C { 

public interface C { 

컴파일에 :

public class A extends B, C { 

public abstract class C { 

하는 경우, JVM이 너무 오래 더 이상보다 상위 클래스의 구현을 다중 상속을 지원하기 위해 말할 수있다 행동 양식.

또는 인터페이스가 JVM의 내장에 깊숙이 삽입되어 있습니까?

+2

구현 된 인터페이스 중 두 개 이상에 동일한 메소드가 포함될 수 있습니다. –

답변

2

런타임시 JVM에는 인터페이스 개념이 있습니다. 인터페이스 유형을 통해 호출되는 메소드는 invokeinterface과 함께 호출됩니다. 추상 클래스에

컴파일 인터페이스는 작동하지 않을 것입니다 :

  • 하나의 방법은 참으로 인터페이스 클래스를 구현 중 하나 이상에 의해 구현 될 수있다.
  • 인터페이스 메소드는 인터페이스를 구현하는 둘 이상의 유형에서 호출 될 수 있습니다.
  • 인터페이스는 해당 메서드에 대한 구현을 제공하지 않습니다.