來自C#背景我不知道這是什麼問題。Java方法覆蓋 - 「方法不會覆蓋超級方法...」
我有我的基類,它定義了抽象方法,getContentValues
public abstract class BaseDataSource<T> {
protected abstract ContentValues getContentValues(T object);
}
從繼承是另一個類,IIdentifiableDataSource。
public abstract class IIdentifiableDataSource extends BaseDataSource<IIdentifiable> {
// Nothing in here is relevant to the getContentValues method.
}
最後,從IIdentifiableDataSource繼承,是最後一個子類MessagesDataSource,其中getContentValues被覆蓋。它扔在這裏的錯誤,指出
public class MessagesDataSource extends IIdentifiableDataSource {
@Override
protected ContentValues getContentValues(Message object) {
// fill ContentValues and return it.
}
}
「法不從它的超重寫方法」我想這事做通用基礎類,但我不能確定這是爲什麼。
看看方法的簽名...參數類型不匹配。那就是問題所在。你超載不重寫(在你的情況下將實施)。 – Alboz 2015-04-02 21:31:09