-2
A
回答
1
不,你不能做到这一点。
覆盖子类中的方法,其超类方法标记为final
是不可能的 。您可以添加具有不同签名的方法
final
关键字应用于方法的目的是它不允许子类方法重写它。
1
你不能。关键字final
是为了防止这种情况发生。 请参阅http://en.wikipedia.org/wiki/Final_(Java)#Final_methods
1
您不能覆盖超级方法final
,但您可以重载它。
只有当它有一个不应该被改变的实现并且它对于对象的一致状态至关重要时才做最后的方法。
1
最终的主要目的是防止重写。所以,你不能覆盖最终的方法。 你仍然可以重载最终的方法。
0
不知道为什么你必须具有相同的名称。要么是它的目的是一种不同的方法,那么它可以有一个不同的名字没有问题,或者你试图做一些凌驾你声称没有做的事情。
如果您的子类需要干涉该方法的接口实现,请考虑该接口实现的内部类。
否则在子类中的方法不重写超类方法具有相同的名称如果任:
- 它有不同的参数类型
- 超类方法是私有的
- 超类方法是包-private和子类位于不同的包中
相关问题
- 1. Java方法不会覆盖
- 2. Java不会显示覆盖的图像
- 3. 需要加强在Android MapView的覆盖
- 4. Java方法覆盖 - “方法不会覆盖超级方法...”
- 5. setscheduler为什么不强迫需要resched
- 6. 会议暴徒强迫
- 7. 网站转发.htaccess不会强迫
- 8. Java:超类不会覆盖功能
- 9. Java保存功能不会覆盖
- 10. FFMPEG强制覆盖
- 11. 覆盖被迫wordpress CSS样式
- 12. 零不能强迫Bignum的
- 13. 的Java覆盖
- 14. Os.Rename中的强制覆盖
- 15. ocmod不会覆盖文件
- 16. 覆盖instantiateItem(...)不会编译
- 17. bootstrap偏移不会覆盖
- 18. jQuery .fadeIn()不会覆盖css
- 19. jquery覆盖不会关闭
- 20. 它不会覆盖类
- 21. JQuery覆盖不会工作
- 22. orm.xml不会覆盖注释
- 23. WMAppManifest.xml不会被覆盖?
- 24. 覆盖会话
- 25. 会话覆盖
- 26. java覆盖不工作
- 27. java覆盖不工作
- 28. 在C#中“强制”覆盖#
- 29. Kotlin强制覆盖函数
- 30. 强制log4net覆盖文件
您可以添加具有相同名称但签名不同的方法。否则编译器会打扰你。 –
听起来像你在你的设计中有问题。除非孩子'foo'具有不同的签名,否则超级'foo()'不是最终的,我没有看到它发生。 – rocketboy
我需要这两种方法完全一样,我不知道是否有一些注释用于此目的。 – Ahmad