我是oop的新手,我想传递一个抽象方法的对象参数,但它给了我错误,谁能解释给我,并帮助我修复错误。谢谢你的帮助。
abstract class FunctionInt{
int num1;
int num2;
abstract FunctionInt test(FunctionInt newNum);
}
class Function extends FunctionInt{
public Function(int num1,int num2){
this.num1=num1;
this.num2=num2;
}
public Function (){
}
Function test(Function c){
return c;
}
不能更改抽象方法签名。您已经创建了一个与您想要覆盖的方法无关的全新方法。使用@Override
注释可以更快地发现这类错误。
public class Function extends FunctionInt {
public Function(int num1, int num2) {
this.num1 = num1;
this.num2 = num2;
}
public Function() {
}
@Override
FunctionInt test(FunctionInt c) {
return c;
}
}