2014-03-18 2 views
-3

질문 : 클래스가 인터페이스를 구현하도록 지정했지만 인터페이스의 모든 메소드에 대한 선언을 제공하지 않으면 어떻게됩니까?Java 인터페이스 및 메소드 선언

+2

시도하면 어떻게됩니까? – Reimeus

+2

컴파일되지 않습니다. – HectorLector

+0

컴파일러가 많이 울립니다. –

답변

0

해당 인터페이스에서 상속 된 모든 메소드를 선언해야합니다. 그렇지 않으면 컴파일하지 않는 것이 좋습니다.

예 :

interface SomeInterface { 
    public void methodOne(); 
    public void methodOne(); 
    public void methodOne(); 
} 

그리고 :

class SomeClass implements SomeInterface { 
    //this wont complie 
} 

그러나

클래스가 그 인터페이스 또는 그들 중 일부에서 상속 방법을 선언 할 수있는 추상 클래스,

예 인 경우 :

interface SomeInterface { 
    public void methodOne(); 
    public void methodOne(); 
    public void methodOne(); 
} 

및 :

abstract class SomeClass implements SomeInterface { 
    //this will compile 
} 
0

클래스가 추상적 인 경우를 제외하고는 전혀 컴파일되지 않습니다.

예. 컴파일러는 no라고 말합니다!

1

클래스가 추상 클래스가 아닌 경우 컴파일 오류가 발생합니다. 클래스가 추상 클래스 인 경우에는 선언 된 인터페이스의 일부 메소드를 정의하지 않은 상태로 두는 것이 좋습니다. 누락 된 메소드는 파생 된 비 추상 클래스에 정의 된 끝에 있어야합니다.

0

컴파일에 실패합니다. "클래스가 인터페이스를 구현한다고 주장하면 클래스가 성공적으로 컴파일되기 전에 해당 인터페이스로 정의 된 모든 메소드가 소스 코드에 나타나야합니다." Object-Oriented Programming Concepts

0

컴파일 오류로 인해 추상 메서드가 무시됩니다. 추상 클래스와 달리 인터페이스는 구현을 전혀 제공 할 수 없다는 것을 기억하십시오. 즉, 인터페이스를 구현하는 클래스는 모든 메소드에 대한 구현을 제공해야합니다.