我在正确实现抽象类中需要被覆盖的泛型时遇到问题。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