Java 找不到适用于add()的方法
我是java新手 “当我试图运行我的程序时,我遇到此错误“找不到适合add()的方法”。请帮助。我做错了什么?请注意,我正在尝试学习如何使用接口 下面是一个示例:Java 找不到适用于add()的方法,java,java-me,Java,Java Me,我是java新手 “当我试图运行我的程序时,我遇到此错误“找不到适合add()的方法”。请帮助。我做错了什么?请注意,我正在尝试学习如何使用接口 下面是一个示例: public interface Calculate { int add(int a, int b); } public abstract class Maths extends MIDlet implements CommandListener, Calculate { private Display disp
public interface Calculate {
int add(int a, int b);
}
public abstract class Maths extends MIDlet implements CommandListener, Calculate {
private Display display;
Form mainForm = new Form("Calculator");
Form testForm = new Form("Results");
TextField at = new TextField("A=", "", 10, TextField.NUMERIC);
TextField bt = new TextField("B=", "", 10, TextField.NUMERIC);
StringItem resultItem = new StringItem("Result =", "");
Command addCommand = new Command("add", Command.SCREEN, 1);
public Maths() {
display = Display.getDisplay(this);
mainForm.append(at);
mainForm.append(bt);
mainForm.addCommand(addCommand);
testForm.append(resultItem);
testForm.setCommandListener(this);
mainForm.setCommandListener(this);
}
public void startApp() {
Display.getDisplay(this).setCurrent(mainForm);
}
protected final void addOrderComponent(Component c) {
}
您试图调用的是在不传递任何参数的情况下调用
add()
。因此,会出现错误。如果您不想传递参数,则不要在add()
的定义中写入int a,int b
您需要做的是:
public void add()
{
int a, b, result;
a = Integer.parseInt(at.getString());
b = Integer.parseInt(bt.getString());
result = a + b;
//do what ever you need to do with the result.
}
你为什么要把
数学
做成一个抽象的
类?你打算把数学
做成什么子类?为什么?你必须返回结果
@KarlKnechtel,我在使用接口,我不能用类来实现抽象的方法,可以吗?@tintinmj我试过返回结果,当然没有具体的类可以从接口派生。人们总是这样做。抽象类的存在是为了方便起见,用来保存接口的多个实现所共有的东西。你已经过了这一步。你肯定不能按原样运行程序,因为你没有任何可以实际实例化的东西。