Hat eine Schnittstelle mit einigen Funktionen. Die Basisklasse implementiert die Schnittstelle. Dann möchte in der Unterklasse die Funktion überschreiben.Wenn die Schnittstelle überschreiben Funktion, Fehler "Methode überschreibt Methode nicht von seiner Oberklasse"?
Aber die @Override geben complier Fehler „Methode überschreibt nicht Methode von ihrer Oberklasse“
Frage: in Unterklasse, wie die Schnittstellenfunktion in der Basisklasse implementiert außer Kraft zu setzen?
public interface TheCallback {
void onImageUrlReady(final ImageView view, final ImageRecord imageData);
}
public class ImageFragment extends Fragment implements TheCallback {
@Override
void onImageUrlReady(final ImageView view, final ImageRecord imageData) {
//base class implementation
}
}
public class DerivedFragment extends ImageFragment {
@Override //<=== got compile error here
void onImageUrlReady(final ImageView view, final ImageRecord imageData) {
//sub class override implementation
}
}
Sie fehlt das 'e' in' @ Override' in beiden Orten. – CommonsWare
Entschuldigung, das ist ein Tippfehler. Im Code ist es tatsächlich @Override. Ich habe die Frage bearbeitet, um den Tippfehler zu korrigieren. Vielen Dank! – lannyf