Java多态/抽象类帮助

时间:2010-01-06 21:22:06

标签: 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 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);

我知道我错过了什么。它是什么?

2 个答案:

答案 0 :(得分:6)

您正在使用两个int参数调用构造函数,但您尚未创建此类构造函数。您只创建了一个名为'op'的方法,它接受两个int参数。

答案 1 :(得分:1)

您可以将构造函数放在“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);        

}