2013-10-29 80 views
0

所以,我理解這個錯誤信息,告訴我什麼是錯的,但我無法確定爲什麼我想出這個錯誤以及如何解決它:在錯誤有兩種不同的泛型類型

構造節點E#1 找到:無參數 原因:實際和正式參數列表長度不同 其中E#1,E#2是類型變量: E#1擴展對象在類MyStack中聲明 E#2擴展在類中聲明的對象節點

I h ave在過去使用鏈表來實現堆棧,並且從未遇到過這種情況。我已經包含MyStack類和Node類的第一部分代碼,因爲我不相信包含的方法是相關的。如果他們是我很高興編輯他們英寸我的主要問題是我不明白爲什麼它是兩個單獨的泛型類型。我知道它告訴我,實際和正式的參數列表長度不同,但我怎麼能這樣做呢?我能做些什麼來解決這個問題?

public class MyStack<E> extends Node<E>{ 

//pieced together linked list 
private int cnt; 
private Node<E> head; 


public MyStack() { 
    head = null; 
    cnt = 0; 
} 

這裏是Node類。

public class Node <E>{ 



public Node<E> link; 
public E item; 

public Node(E data) { 
    item = data; 
    link = null; 
} 

任何線索爲什麼這顯示2種不同的泛型將是有幫助的。乾杯!

回答

4

由於沒有對Node無參數的構造函數,MyStack延伸Node,你需要指定MyStack的構造是怎麼回事調用構造函數Node。目前,這不會編譯,因爲您在MyStack的構造函數的起始處沒有super構造函數調用。

+0

好電話給我的朋友!謝謝您的幫助!我現在已經開始了。 – Talaria