2013-11-14 72 views
1

我有一個接口初始化,將生成包含不同的對象類型的列表數據:接口方法返回的ArrayList含有不同的對象

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

當我實現實現類將需要的這種抽象的getData()方法返回包含不同類型對象的ArrayList,例如:

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

如何在界面中考慮所需的靈活性?

回答

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

} 
} 
+0

你有什麼建議,爲什麼我的問題是下投票? –

+0

@BrianVanover:我不知道誰做的背後的推理。也許他們認爲你應該已經發現自己需要泛型,但這只是在猜測。 –

+0

謝謝。我有一個問題禁止:/ –

相關問題