2012-10-07 3 views
0

나는 클래스가있는 경우 :클래스 방법 : 이클립스 내 메소드를 오버라이드 (override)

public class myclass{ 

    public int calc(int var1,int var2){ 
     return var1*var2; 
    } 

    public int calc(int var1 ,int var2 , int var3){ 
     return var1*var2/var3; 
    } 
} 

질문입니다 : 나는 내 수업의

예를 어떤 메소드를 오버라이드 (override)하려면 어떤 방법이 : 난 그냥 myclass extends Async했다 그리고 doInBackground는

더 설명 ... @Override 주석을 생성합니다

class ares extends AsyncTask<Params, Progress, Result> { 
    @Override 
    protected Result doInBackground(Params... params) { 
     // TODO Auto-generated method stub 
     return null; 
    } 
} 

->calc 메소드가 doInBackground와 같이 생성되는 경우를 원합니다.

+0

당신은 http://docs.oracle.com/javase/tutorial/java/IandI/override.html 여기처럼 상속에 대해 말을하는거야? –

+0

제임스 고마워요,하지만이 튜토리얼을 읽었지만 누락 된 것은 내가 하위 클래스를 확장 할 때 컴파일러가 AsyncTask와 같은 구현되지 않은 메서드를 추가하도록 요청하지 않는다는 것입니다. 그래서 컴파일러가 이해해야 할 사항이 무엇인지 물어 봅니다. 'calc 온 클릭으로 ** 무시 @ '() 또는 이 ** 예) (onBackPressed :;'처럼 ** 방법은 지금의 명확한 생각 .. 방법을 구현입니다) –

답변

1

주석 @Override는 필수이지만 선택하지 않고 이클립스의 포맷터에 의해 자동으로 추가 할 수 있습니다.

그것은 또한 가능하다이 주석이 JavaSDK 1.6 이외의 인터페이스 방법에 추가 된대로 JavaSDK 1.5을 사용하는 경우이 주석을 추가 할 때이 오류를 얻을 것이다.

이클립스에서 메소드가 누락되었음을를 생성 또는 적어도 오류를 적용하려면, 당신은 당신의 부모 클래스의 메소드 추상적를 확인해야합니다. 이 작업을 완료했다면 IDE가 메소드를 생성하는 데 도움을 주어야하며 주석을 추가해야합니다.

+0

감사합니다. Warren, Awesome Answer ..이게 빠진 것입니다. ** '너무 추상적 인 방법입니다'** 나는 수업이 충분하다고 생각했습니다. –

0

내가 묻는 질문에 대해 완전히 명확하지 않습니다.

당신은 반환 형식이 구체적 수 있지만이 반환 유형을 변경하지만 메서드 구현을 변경하지 않는 의미, 당신의 방법을 대체 할 수 있습니다.

+0

말은 '나는 방금 만든 ** 내 "클래스가 확장 비동기 "그리고 doInbackground는 오버라이드 메소드를 생성합니다 .. –

+0

@JackJon : and ??? – Houcine

관련 문제