有一个带有一些功能的接口。基类实现接口。然后在子类中重写函数。
但是@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
}
}
您可能正在使用Java1.5@重写可用于1.6中实现的接口方法。
还要看看为什么javac在@Override注释上失败了
下面是我的课:
我正在使用JUnit 5,并从“软件测试”书中复制了代码,以便创建一个模拟对象进行测试。部分测试器代码是: 我有一个编译器错误,它说“方法isLeap(int)必须覆盖或实现一个超类型方法”。此错误在我覆盖isLeap()方法的行中报告。(@over下面的行) 好吧,令人惊讶的是,这就是我所做的。所以我不知道这是什么抱怨。下面是simpleDate类中的isLeap()方法: 正如您所看到的,测试
我有以下代码:https://pastebin.com/19njjj9s(我放在这里是因为对于stackoverflow来说代码太多了) 但是它不会覆盖onClick方法(第192行),我不明白为什么。 重写onclick方法背后的想法是获取日期并接收radiogroup以设置其中一个值。如果有人能帮我,我会帮你的。
我怎么解决这个?
我是Android和Java的初学者。我寻找这个错误的答案,但stackOverflow中的任何东西都不适合我的情况。我在读一本书,书中说我们需要使用一个onListItemClick()方法,该方法来自我们创建的扩展ListFragment的类(CrimeListFragment)(使用该方法和类是必需的)。 然而,我不断发现以下错误: 错误说 “CrimeListFragment类型的onLi
我试图使用Reflection.Emit发出一个类,该类将在运行时从多个接口继承,我无法提前知道哪些接口。 根据 MSDN/TypeBuilder.Define方法优先: 要重写基类的方法或实现接口的方法,只需发出与要重写或实现的方法具有相同名称和签名的方法 下面是我重写接口方法的代码: 这是有效的,除非我从两个接口继承,这两个接口都有一个同名的方法。显然,这是因为我没有为该方法提供完全限定的名称