단순히 내가하려는 것은 LinkedList에서 클래스를 확장하는 것입니다. 여기 내 코드입니다 :Java에서 확장 클래스의 인스턴스를 인스턴스화 할 수없는 이유는 무엇입니까?
Test.java:7: non-static variable this cannot be referenced from a static context
OrderedLinkedList ol = new OrderedLinkedList();
^
1 error
내가 인스턴스화 아무것도하지만를 참조하고 있지 않다 믿는다 그러나
import java.util.*;
class Test {
public static void main(String [] args) {
OrderedLinkedList ol = new OrderedLinkedList();
}
public class OrderedLinkedList extends LinkedList<Integer> {
public boolean add(Integer item) {
for (int i=0; i < size(); i++) {
Integer itemOfList = get(i);
if (itemOfList.compareTo(item) > 0) {
add(i, item);
break;
}
}
return true;
}
}
}
,이 메시지와 함께 오류를 컴파일 얻었다. 당신이 동일한 파일에 두 클래스가있는 경우
원래 질문의 'OrderedLinkList'는 내부 클래스입니다. 내부 클래스로서 올바르게 배치됩니다. –
@JanDvorak : 그렇다면 내부 클래스를 정적으로 만듭니다. 질문에서 그것은 명확하지 않다. – kosa