我正在尝试扩展堆栈库,但始终收到以下错误消息:
找到:java.util.Stack
必需:java.util.Stack []
和
非静态类T不能从静态上下文中引用
EStack a =新的EStack();
我的代码如下:
public class EStack<T> extends Stack <T>{
Stack [] stack;
public EStack(){
this.stack=new Stack();
}
public static void main(){
EStack<T> a = new EStack <T> ();
a.push("hello");
}
}
最佳答案
您声明一个array
对象(Stack[]
),然后尝试为其分配Stack
对象。这是两种不同的类型。
由于您没有该构造函数,因此该片段EStack < T > a = new EStack < T > ();
确实没有任何意义,在这里我看不到使用泛型的任何意义。也许您可以再解释一下。
不要在子类中创建main()
方法!使用单独的Main
类测试代码。