Interface方法返回包含不同对象的ArrayList

时间:2013-11-14 21:26:57

标签: java oop interface arraylist polymorphism

我有一个初始化数据的接口,它将生成包含不同对象类型的列表:

public interface DataInitializer {
    public void initializeData();
    public ArrayList<> getData();
}

当我实现这个抽象时,实现类的getData()方法需要返回包含不同类型对象的ArrayLists,例如:

public ArrayList<Faculty> getData()
public ArrayList<Student> getData()

如何在界面中考虑到这种所需的灵活性?

1 个答案:

答案 0 :(得分:4)

将其设为generic

public interface DataInitializer {
    public void initializeData();
    public <T> ArrayList<T> getData();
}

或在界面级别

public interface DataInitializer<T> {
    public void initializeData();
    public ArrayList<T> getData();
}

实施例:

class StudentInitializer implements DataInitializer<Student> {
 public ArrayList<Student> getData() {

 }
}