[英]Error with two different generic types
因此,我知道此錯誤消息告訴我什么地方出了問題,但是我無法確定為什么要提出此錯誤以及如何解決該錯誤:
無法將類Node中的構造方法Node應用於所需的給定類型:找不到E#1:沒有參數原因:實際和形式參數列表的長度不同,其中E#1,E#2是類型變量:E#1擴展了在其中聲明的對象MyStack E#2類擴展了在Node類中聲明的對象
我過去使用鏈表實現堆棧,以前從未遇到過。 我已經包括了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;
}
這是節點類。
public class Node <E>{
public Node<E> link;
public E item;
public Node(E data) {
item = data;
link = null;
}
關於為何顯示兩種不同的泛型類型的任何線索都將有所幫助。 干杯!
由於沒有Node
無參數構造函數,並且MyStack
擴展了Node
,因此您需要指定MyStack
的構造函數將如何調用Node
的構造函數。 當前,它不會編譯,因為在MyStack
的構造函數的開頭沒有super
構造函數調用。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.