2012-03-05 3 views
0

다른 클래스 호출 JobLine에서 가져 와서 사용되는 priorityQueue에 대해 사용할 것입니다 (예 : 생성자 Job의 경우) (jobNumber, executionTIme, priorityLevel)을 정의하는 클래스 호출 Job이 있습니다.구현하거나 이에 상응하는 생성자를 확장해야합니까?

작업 클래스에서 compareTo() 메서드 호출을 사용하여 작업 개체 간의 우선 순위를 비교합니다.

이 우선 순위를 비교할 것을 알 수 있도록 Comparable을 작업 생성자에 구현하거나 확장해야하는 방법은 무엇입니까?

도움을 받으실 수 있습니다.

+2

클래스가 아닌 인터페이스이기 때문에 'Comparable'을 확장 할 수 없습니다. –

+0

좋아요,이 경우 compareTo 메소드를 대체하기 위해 Comparable을 구현해야합니까? 나는 시도했다. 그리고 나는 오류를 얻었다. 다른 방법이 있습니까? –

+0

인터페이스에 메소드 구현이 없으므로 대체 할 메소드가 없습니다. 오류가있는 경우 관련 코드 발췌와 함께 질문에 포함시켜야합니다. –

답변

3

당신이 쓴 것을, 당신은 단순히 구현할 수 있습니다함으로써 (당신이 그것을 확장 인터페이스를 구현할 수는 없지만,주의)이이 같은 :

class Job implements Comparable<Job> { 
    @Override 
    public int compareTo(final Job other) { 
     return getPriorityLevel() - other.getPriorityLevel(); 
    } 
} 

this 질문을 참조

제대로 구현하는 방법을 이해하기 인터페이스

그러나 실행 시간 및 작업 번호를 고려하여 더 많은 "고급"알고리즘을 사용할 수 있지만 원하는 경우 원하는 것을 설명해야합니다.

난 당신이 무슨 뜻

+1

'getPriorityLevel() - other.getPriorityLevel()'은 정수 오버플로를 초래할 수 있다는 점에 유의하십시오. –

-1

클래스가 extended 수 있습니다 질문에 "생성자로 확장"과 인터페이스가 implemented

당신은 방법에 this 튜토리얼을 읽을 수있을 수 있는지 이해하지 못했다 인터페이스 구현에 대해 알아보십시오.

+0

이것은 질문에 대한 설명이 전혀없는 대답이 아닌 주석으로 게시해야합니다. –

관련 문제