2013-11-03 135 views
1

我试图扩展堆栈库,但不断收到以下错误消息: 发现:java.util.Stack中 要求:java.util.Stack中的[]扩展协议栈库

非静态类T不能从静态上下文中引用 EStack a = new 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"); 
    } 
} 

回答

0
  1. 您声明array对象(Stack[]),然后你想Stack对象分配给它。这是两种不同的类型。

  2. 并且该代码段EStack <T> a = new EStack <T>();确实没有意义,因为您没有该构造函数,并且在这里看不到任何使用泛型的要点。也许你可以多解释一下。

  3. 不要在您的子类中创建main()方法!使用单独的Main类来测试您的代码。

+0

我想创建一个新的类,它扩展了Java库中的堆栈库类,以便我可以(在此步骤之后)向我的新类添加另一个方法。我被困在扩展堆栈库的步骤。 – RuneScape