2013-05-26 3 views
0

나는라는 클래스가 있습니다안드로이드 오류 x는 상속 된 추상 메소드를 구현해야합니다

public class NXTCommAndroid implements NXTComm 

이클립스는 다음과 같은 빨간색 오류에게 제공을

타입 NXTCommAndroid은 (상속 된 추상 메소드 NXTComm.search를 구현해야합니다 String)

IDE에서는 클래스 추상화를 잘못했거나 잘못 구현 된 메서드를 추가하는 것이 좋습니다 (예 : ex 메서드가 이미 구현되어 있어야합니다.

//@Override 
public NXTInfo[] search(String name) throws NXTCommException { 
    // TODO Auto-generated method stub 
    return null; 
} 

을하지만, 이것은 이미 존재 :

그것은이 추가 당신은 동일한 방법 서명과 동일한 메소드를 오버라이드 (override) 할 필요가

public NXTInfo[] search(String name, int protocol) throws NXTCommException { 
    //stuff that would take up too much room 
    } 

답변

3

. 이는 동일한 이름, 동일한 반환 유형, 동일한 범위 (public, protected, private, none)와 동일한 매개 변수 유형 및 수를 의미합니다.

따라서 두 번째 방법 public NXTInfo[] search(String name, int protocol) throws NXTCommExceptionpublic NXTInfo[] search(String name) throws NXTCommException에 대한 재정의로 간주되지 않습니다.

이 같은 일을 고려해 볼 수 있습니다 :

@Override 
public NXTInfo[] search(String name) throws NXTCommException { 
    return search(name, myDefaultProtocolInt); 
} 

public NXTInfo[] search(String name, int protocol) throws NXTCommException { 
    //stuff that would take up too much room 
} 
+0

감사, 합법적 인 것 같다. lejos에 따르면, 클래스 자체가 pc.comm jar 파일의 일부로 존재하기 때문에 이상합니다. 안드로이드 종속성 때문에 자체 클래스에 있습니다. 그래서 내가 그것을 내 자신의 프로젝트에 추가하면 동일하지만 오류가 발생합니다. – TroothHertz