2014-10-30 4 views
2

I 클래스 A 있고, 인터페이스 I, J, KL자바 상속 - implentation 및 확장

나는 다음 인터페이스 I이 방법 void setSize(int size)을 필요로 C

class AB extends A 

class C extends AB implements I, J, K, L 

AB 그리고 마지막으로 클래스가 있습니다.

클래스 A 이미 나는 여전히 올바른 구현을 얻을 클래스 AsetSize을 무시하고 클래스 CsetSize을 구현해야 말에 수정 setSize(int size){this.size = size;}

이 있습니까 방법이있다?

+1

왜 그렇습니까? 컴파일 오류가 발생합니까? – Henry

+2

FYI, I, J, K 및 L은 구현이 아닌 인터페이스라고합니다. – chama

답변

2

클래스가 (인터페이스 서명과 일치하는) setSize(int) 메소드를 제공하면 인터페이스 요구 사항을 충족시킵니다. 수퍼 클래스에서 일치하는 메소드 (상속 아님)를 상속 받으면 제공됩니다. 당신은 그것을 무시할 필요가 없습니다.

+0

내 IDE에서 다시 구현해야하고 오류가 발생해야한다고 말하는 것은 이상한 일 이었지만 괜찮 았습니다. 그렇다면 비 특정 런타임 오류를 던지기 ...하지만 나는 그들을 통해 일할 수 확신합니다. 그리고 물론 유감스럽게도 인터페이스는 ... 나쁘다. – Narrim

2

슈퍼 클래스 중 하나에 필요한 서명이있는 메소드가 있으면 클래스에 구현할 필요가 없습니다.