我有一个由 Java 和 Android 实现的抽象类。这个类有一个方法需要返回一个通用的 Cursor 以便实现可以返回它们各自的游标。
我的抽象类:
public abstract class DatabaseAdapter {
protected abstract com.domain.database.Cursor<?> executeQuery(String command);
}
游标类型:
public final class Cursor<T> {
private T value = null;
public void setValue(T value) {
this.value = value;
}
public T getValue() {
return value;
}
}
如前所述,我希望实现方法根据情况返回 Java 游标或 Android 游标。我可以很好地创建抽象类,但是当我尝试实现时,出现编译错误。我显然在这里不太了解多态性。
实施方法
public Cursor executeQuery(String query){
Cursor cursor = db.rawQuery(query, selectionArgs);
return cursor;
}
其中光标是android.database.Cursor