Java如何选择重写特定重载方法?仅重写指定参数类型的a()方法
如何在子类中仅重写父类指定参数类型的重载方法?
这事儿其实特别直接——你只需要在子类的方法里明确写出和父类中要重写的方法完全一致的参数类型,再配上@Override注解就行,Java会自动根据方法签名(方法名+参数列表)匹配到对应的父类方法,完全不会影响另一个重载版本。
给你补全正确的代码示例:
public class SuperClass { public void a(String string) { // 父类String参数的方法逻辑 } public void a(int integer) { // 父类int参数的方法逻辑 } } public class NotSoSuperClass extends SuperClass { @Override public void a(String string) { // 明确指定String类型参数 // 子类重写后的自定义逻辑 } }
几个关键点要注意:
@Override注解是个实用的编译期检查工具:如果不小心写错参数类型(比如把String写成Object)或者方法名拼错,编译器会直接报错,帮你避免误写。- Java的重写规则是严格匹配方法签名的:只有当方法名、参数类型(包括数量、顺序)完全和父类某方法一致时,才会被判定为重写。另一个参数类型不同的重载方法会被原样继承到子类中,完全不受影响。
内容的提问来源于stack exchange,提问作者Banjer_HD
相关产品推荐
相关产品推荐

