方法不会覆盖或实现超类型的方法
时间: 2023-10-20 07:56:54 浏览: 58
方法覆盖(method overriding)是指子类中定义的方法与父类中的方法具有相同的名称、参数列表和返回类型,从而覆盖了父类中的方法。子类通过方法覆盖可以改变继承自父类的方法的实现逻辑。
在Java中,子类可以通过使用@Override注解来显式地标记方法覆盖。当子类的方法使用@Override注解时,编译器会检查该方法是否确实是覆盖了父类中的方法,如果不是,则会产生编译错误。
超类型的方法(supertype method)是指父类或接口中定义的方法。子类可以选择性地覆盖超类型的方法,也可以不做任何修改而直接继承超类型的方法。
需要注意的是,子类覆盖父类的方法时,不能改变超类型方法的访问修饰符和返回类型。子类覆盖的方法的访问修饰符不能比父类中被覆盖的方法更严格(例如,父类方法为public,则子类方法也必须为public)。返回类型也必须是相同的或是其子类型。
总结起来,子类可以通过方法覆盖来实现对父类中方法的重新定义,但是不能修改超类型方法的访问修饰符和返回类型。
相关问题
lombok方法不会覆盖或实现超类型的方法
使用Lombok生成的方法不会覆盖或实现超类型的方法。Lombok的主要目的是通过注解来简化Java类的开发,它可以自动生成常见的方法,如getter、setter和toString等。这些生成的方法是独立于超类型(父类或接口)中已经定义的方法的。因此,如果你使用Lombok生成getter或setter方法,它们不会覆盖或实现超类型中的相同方法。这意味着你需要手动在类中实现超类型中的方法。<span class="em">1</span><span class="em">2</span><span class="em">3</span>
#### 引用[.reference_title]
- *1* *2* *3* [超级全面的 Lombok 注解介绍,学一波!](https://blog.csdn.net/weixin_36380516/article/details/109733726)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT3_1"}}] [.reference_item style="max-width: 100%"]
[ .reference_list ]
java: 方法不会覆盖或实现超类型的方法
错误的原因可能有几种可能性。首先,这个错误可能是由于方法的签名不正确所导致的。确保你的方法与父类或接口中的方法具有相同的名称,参数类型和返回类型。其次,这个错误可能是由于你的方法没有使用`@Override`注解所引起的。`@Override`注解用于指示该方法是在重写父类或接口中的方法。如果你的方法没有正确地重写父类或接口中的方法,编译器会报告错误。最后,这个错误可能是由于项目的依赖问题导致的。确保你的项目的Tomcat服务器依赖被正确导入,并且项目的SDK版本选择正确。检查这些可能的原因,并相应地进行修正。<span class="em">1</span><span class="em">2</span><span class="em">3</span>
#### 引用[.reference_title]
- *1* *2* [ method does not override or implement a method from a supertype java:方法不会覆盖或实现超类型的方法](https://blog.csdn.net/T_Y_F_/article/details/126962902)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"]
- *3* [解决办法|运行Java Web项目时 爆红“找不到符号,方法不会覆盖或实现超类型的方法,程序包javax.servlet不...](https://blog.csdn.net/qq_58025594/article/details/130989603)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"]
[ .reference_list ]