[英]issue with java generics in an interface
我正在實現一個可以管理堆棧的接口,我有以下代碼:
public interface Stack <E>{
public int size();
public boolean isEmpty();
public E top();
public void push(E item); //error here
實現此接口的類具有:
public class StackArray<E> implements Stack{
private E array[];
private int top=-1;
public StackArray(int n){
array=(E[]) Array.newInstance(null, n); ////not quite sure about this
}
//more code
public void push(E item){
if (top==array.length-1) System.out.println("stack is full");
else{
top++;
array[top]=item;
}
}
我得到的錯誤是我沒有重寫push方法,我看到兩者具有相同的簽名,但是我不太確定。
我該如何解決?
你不是綁定E
參數StackArray
到E
參數Stack
。 使用此聲明:
public class StackArray<E> implements Stack<E>
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.