2010-01-06 28 views
1

我正在尝试设置参数为抽象类:的Java多态性/抽象类的帮助

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); 

我知道我失去了一些东西。它是什么?

回答

6

你调用具有两个int参数的构造函数,但您尚未创建这样一个构造函数。您只创建了一个名为'op'的方法,它接受两个int参数。

+0

我在哪里把构造函数? – Phil 2010-01-06 21:26:25

+0

构造函数是一种没有返回类型和类名称的方法。在这种情况下, public MultMath(int intOne,int intTwo) – Confusion 2010-01-07 08:43:06

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);   

}