1

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

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

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

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

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

4

1 回答 1

4

使其通用

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() {

 }
}
于 2013-11-14T21:27:41.733 回答