Java实现number接口报未重写add(int,int)抽象方法错误排查
错误原因
Java语法强制要求:非抽象类实现接口时,必须重写接口中声明的全部抽象方法,且重写的方法签名(方法名、参数列表、返回值类型)必须和接口定义完全一致。
本次编译错误的直接诱因是方法名不匹配:
- 定义的
number接口中,加法运算方法的声明为public void add(int num1,int num2) - 但
wholeNumber、naturalNumber两个实现类里,加法方法被命名为sum,方法名和接口要求的add不匹配,编译器判定两个类均未实现接口规定的add抽象方法,因此抛出编译错误。
修复方法
- 将两个实现类中原本命名为
sum的加法方法重命名为add,保持方法签名和接口定义完全一致即可,原有计算逻辑无需改动。修正后的加法方法代码如下:
// wholeNumber、naturalNumber类中替换原有sum方法为以下实现 public void add(int n1,int n2){ int sum = n1 + n2; System.out.println("SUM " + sum); }
- 补充编码规范建议:Java通用命名规范要求类、接口名使用大驼峰格式,建议将
number接口重命名为Number,wholeNumber重命名为WholeNumber,naturalNumber重命名为NaturalNumber,既符合通用编码习惯,也能减少后续不必要的语法识别问题。
内容的提问来源于stack exchange,提问作者priston
相关产品推荐
相关产品推荐

