Bri*_*ian 2 java oop polymorphism interface arraylist
我有一个接口来初始化数据,该数据将生成包含不同对象类型的列表:
public interface DataInitializer {
public void initializeData();
public ArrayList<> getData();
}
Run Code Online (Sandbox Code Playgroud)
当我实现这个抽象时,实现类的 getData() 方法将需要返回包含不同类型对象的 ArrayList,例如:
public ArrayList<Faculty> getData()
public ArrayList<Student> getData()
Run Code Online (Sandbox Code Playgroud)
如何在界面中考虑这种所需的灵活性?
使其通用
public interface DataInitializer {
public void initializeData();
public <T> ArrayList<T> getData();
}
Run Code Online (Sandbox Code Playgroud)
或者在接口级别
public interface DataInitializer<T> {
public void initializeData();
public ArrayList<T> getData();
}
Run Code Online (Sandbox Code Playgroud)
实现示例:
class StudentInitializer implements DataInitializer<Student> {
public ArrayList<Student> getData() {
}
}
Run Code Online (Sandbox Code Playgroud)