实例化扩展ArrayList的类

时间:2018-12-05 21:27:44

标签: java

是否可以创建ArrayList扩展类的实例?

在下面的示例中,如何创建包含所有car数据的Cars类的实例?有可能这样吗,还是我必须删除继承并在Cars类中添加-> private List Car listCars之类的字段?

public class Cars extends ArrayList<Car>{
   public Cars() {}
}

public class Car {

    private String name;

    public String getName() {
        return name;
    }
    public void setName(String name) {
        this.name = name;
    }
}

1 个答案:

答案 0 :(得分:3)

您可以扩展ArrayList,因为它不是最终类,并且可以调用可见的构造函数。但实际上,最好使用以下一种should favor composition over inheritance

public class Cars {
  private final List<Car> values = new ArrayList<>();

  public void add(Car c) {
    values.add(c);
  }
}