Java多态性/抽象类帮助
我正在尝试为抽象类设置参数:Java多态性/抽象类帮助,java,polymorphism,abstract-class,Java,Polymorphism,Abstract Class,我正在尝试为抽象类设置参数: public abstract class NewMath { public abstract int op (int intOne, int intTwo); } 下面是扩展的子类: public class MultMath extends NewMath { public int op (int intOne, int intTwo){ return intOne + intTwo; } } 但当我试图实例化一个对象
public abstract class NewMath {
public abstract int op (int intOne, int intTwo);
}
下面是扩展的子类:
public class MultMath extends NewMath {
public int op (int intOne, int intTwo){
return intOne + intTwo;
}
}
但当我试图实例化一个对象,同时定义如下参数时:
public class TestNewMath {
public static void main(String [] _args) {
MultMath multObj = new MultMath(3,5);
}
}
它不起作用。它给了我这个错误:
TestNewMath.java:3: cannot find symbol
symbol : constructor AddMath(int,int)
location: class AddMath
AddMath addObj = new AddMath(3, 5);
java:3:找不到符号
符号:构造函数AddMath(int,int)
地点:AddMath类
AddMath addObj=新的AddMath(3,5);
我知道我错过了什么。这是什么?您正在使用两个int参数调用构造函数,但尚未创建这样的构造函数。您只创建了一个名为“op”的方法,该方法使用两个int参数。您正在使用两个int参数调用构造函数,但尚未创建这样的构造函数。您只创建了一个名为“op”的方法,该方法接受两个int参数。您可以将构造函数放在“MultMath”类中,如下所示:
public MultMath(int arg0, int arg1){
}
这将消除编译错误。或者,您可以这样做:
public class TestNewMath {
public static void main(String [] _args) {
MultMath multObj = new MultMath();
int x=1, y=2;
multObj.op(x,y);
}
您可以将构造函数放在“MultMath”类中,如下所示:
public MultMath(int arg0, int arg1){
}
这将消除编译错误。或者,您可以这样做:
public class TestNewMath {
public static void main(String [] _args) {
MultMath multObj = new MultMath();
int x=1, y=2;
multObj.op(x,y);
}
构造函数应该放在哪里?构造函数是一种没有返回类型和类名称的方法。在本例中,public MultMath(int intOne,int intTwo)将构造函数放在何处?构造函数是一种没有返回类型和类名称的方法。在这种情况下,公共MultMath(int intOne,int intTwo)