当覆盖接口函数时,错误“方法不会覆盖其超类的方法”?

时间:2016-05-02 19:34:58

标签: android inheritance override

具有某些功能的界面。基类实现接口。然后在子类中想要覆盖函数。

但@override给出编译器错误“方法不会覆盖其超类方法”

问题:在子类中,如何覆盖基类中实现的接口函数?

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

1 个答案:

答案 0 :(得分:1)

您可能正在使用Java 1.5。 @Override可用于1.6的实现接口方法。

另见Why is javac failing on @Override annotation