2012-10-31 6 views
3

나는 C# 프로그래머이며 튀김 자바 숙제를 돕기로 동의했습니다.확장 일반 목록

예를 들어 일반 목록을 확장하는 클래스를 만들고 싶습니다. 내가

public class MyListClass extends List<MyCustomType> 

을 시도하고 오류 "여기 예상 어떤 인터페이스"를 얻을 수있다
public class MyListClass : List<MyCustomType> 

같은 C#에서이 보인다. 글쎄, 나는 인터페이스를 사용하려고하지 않고있다.

+0

Java에서'List'는 인터페이스입니다. C#에서 이에 해당하는 것은 'IList'입니다. 그것은 아마도 당신을 혼란스럽게 할 것입니다. – maba

+0

좋은 지적. LinkedList를 사용하여 지금까지 예상대로 작동합니다. – Peter

답변

2

인터페이스를 확장 할 수 없습니다. 당신은 그것을 구현해야합니다. 하지만 구현 중 하나 (예 : LinkedList의) 확장 할 수

public class MyListClass extends LinkedList<MyCustomType> { 
당신은 제네릭 클래스를 선언 할 필요가
+2

'당신은 그를 구현해야한다.': 인터페이스는 사람이 아니다. –

+0

영어로 죄송합니다. 러시아어 "inteface"는 남성입니다. – Damask

+1

lol ... 인터페이스도 소녀가 아닙니다 ... : D –

4

java.util.List은 인터페이스입니다. 확장하지 않고 구현해야합니다.

public class MyListClass implements List<MyCustomType>{ 
} 
+0

다시 모든 것을 내포해야합니까? 그건 마치 너무 잔인 해 보입니다 ... – Peter

+0

클래스가 구체적이면 클래스를 추상화 할 수 있어야합니다. –

+0

답변 해 주셔서 감사합니다. 그것은 전혀 실용적이지는 않다. 구현해야 할 약 30 가지 방법이 있습니다. 내가 그 망할 것을 사용하고 싶다면 노력할 가치가 없다. – Peter

0

/인터페이스를

public class MyListClass<T> implements List<T> { } 

또는

public interface MyListInterface<T> extends List<T> { } 

또는 모든

의 가장

public class MyListClass<T> extends AbstractList<T> implements List<T> { } 
1

Java는 C++이 아니므로 표준 템플릿에 대해서는 모두 잊어 버리십시오.

은 당신이 아마 원하는 것은 단지 인 목록 입력 :

List<MyCustomType> myList = new ArrayList<MyCustomType>(); 

을하고 그게 다야.


"일반 클래스 확장"을 과제의 목표로 삼는 것은 드문 일입니다. 현실 세계에서도보기 드문 경우입니다.