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

我是java新手 “当我试图运行我的程序时,我遇到此错误“找不到适合add()的方法”。请帮助。我做错了什么?请注意,我正在尝试学习如何使用接口

下面是一个示例:

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我试过返回结果,当然没有具体的类可以从接口派生。人们总是这样做。抽象类的存在是为了方便起见,用来保存接口的多个实现所共有的东西。你已经过了这一步。你肯定不能按原样运行程序,因为你没有任何可以实际实例化的东西。