我想要继承一个ArrayList类 于是写了下面的代码:import java.util.*;class Dog{
  private int dnumber;
  Dog(int i){
    dnumber=i;
  }
  
  public String toString(){
    return "This Dog Number: "+dnumber;
  }
}class DogList extends ArrayList{
}public class temp{
  public static void main(String[] args){
    DogList<Dog> d=new DogList<Dog> ();
  }
}
然后就出现了下面编译异常提示:
temp.java:20: type DogList does not take parameters
   DogList<Dog> d=new DogList<Dog> ();
          ^
temp.java:20: type DogList does not take parameters
   DogList<Dog> d=new DogList<Dog> ();
                 ^
为什么说DogList类型不能用参数
这DogList是继承自ArrayList,搞不明白错在哪里了如果是这样的话,就没有任何问题了,代码如下:import java.util.*;class Dog{
  private int dnumber;
  Dog(int i){
    dnumber=i;
  }
  
  public String toString(){
    return "This Dog Number: "+dnumber;
  }
}
public class temp{
  public static void main(String[] args){
    ArrayList<Dog> a=new ArrayList<Dog>();
   }
}
哪位高手能指点一下?

解决方案 »

  1.   

    DogList<Dog> d=new DogList<Dog> (13);
      

  2.   

    class DogList<E> extends ArrayList{
      

  3.   

    import java.util.ArrayList;public class Dog {
    private int dnumber;
    public Dog(int i) {
    this.dnumber = i;
    } public String toString() {
    return "This Dog Number: " + this.dnumber;
    } public static void main(String[] args) {
    DogList<Dog> d = new DogList<Dog>();
    Dog dog = new Dog(13);
    d.add(dog);
    System.out.println(d.get(0).toString());
    }
    }class DogList<T> extends ArrayList<T> {
    private static final long serialVersionUID = 1L;
    }
      

  4.   

    ArrayList<E> ,E是很关键的,ls的就可以