我在正確實現抽象類中需要被覆蓋的泛型時遇到問題。Java抽象和泛型類型
public abstract class AbstractSerachView {
DataStore<AbstractCriteria, AbstractResults, AbstractService> resultsStore;
public abstract DataStore<AbstractCriteria, AbstractResults, AbstractService> getResultsStore();
}
孩子clases如下:
public class TravelSearchView extends AbstractSearchView {
DataStore<TravelCriteria, TravelResults, TravelService> resultsStore;
public DataStore<TravelCriteria, TravelResults, TravelService> getResultsStore() {
return resultsStore;
}
}
這類抽象的並不在所有的工作,但將不勝感激,如果我能得到某種方式這項工作。這裏的正確方法是什麼?我對泛型類型的經驗很少。
的問題是,Eclipse的指示在子類中的錯誤:返回類型是AbstractSearchView.getResultsStore()不兼容
而且,如果我離開子類get方法與3種抽象類型,以及覆蓋用3種旅行類型變量,一切都是除了回行,其中的Eclipse表示沒關係:類型不匹配:不能從數據存儲轉換爲數據存儲
'TravelSearchView'應該擴展'AbstractSearchView'嗎? – matts
是的,現在確實如此。 TravelCriteria擴展了AbstractCriteria,TravelResults擴展了AbstractResults,TravelService擴展了AbstractService。 – Reivax