我正在尝试扩展堆栈库,但始终收到以下错误消息:
找到: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类测试代码。

10-06 13:35