猿问

无法覆盖 Java 中的方法

我通常不会发布这么简单的东西,但这个问题让我摸不着头脑。

我正在尝试覆盖子类中的方法,但收到以下错误消息:

我的BitCompressor.javaiextendsCompressor.java并尝试覆盖它的encodeInput(...)方法,但是当我编译时,我收到以下错误:error: method does not override or implement a method from a supertype

上面的屏幕截图显示了原始方法(中间)、尝试覆盖该方法的子类(顶部)和错误(底部)。

有任何想法吗?谢谢你。


千巷猫影
浏览 339回答 1
1回答

Cats萌萌

删除 static 关键字。您不能覆盖静态方法要覆盖一个方法,它需要是一个具有超类可见性的普通实例方法(即公共的、受保护的或可能的包私有),并且不能被标记为最终的。Java 中的每个非静态方法默认情况下都是虚拟方法,除了 final 和私有方法。这些虚方法是多态的并且允许覆盖。
随时随地看视频慕课网APP

相关分类

Java
我要回答