2016-05-02 9 views
0

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 
    } 
} 
+0

Sie fehlt das 'e' in' @ Override' in beiden Orten. – CommonsWare

+0

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

Antwort

Verwandte Themen