我有一个初始化数据的接口,它将生成包含不同对象类型的列表:
public interface DataInitializer {
public void initializeData();
public ArrayList<> getData();
}
当我实现这个抽象时,实现类的getData()方法需要返回包含不同类型对象的ArrayLists,例如:
public ArrayList<Faculty> getData()
public ArrayList<Student> getData()
如何在界面中考虑到这种所需的灵活性?
答案 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() {
}
}