0

我正在尝试测试我的抽象类,但是当我从测试类调用方法时遇到了问题。自从我使用 Java 以来已经有一段时间了,我以前没有使用过抽象类。任何关于我哪里出错的指示将不胜感激。谢谢。

抽象类

public abstract class RationalNumbers {

    public int numerator, denominator, temp;

    public void setNumerator(int n) {
        numerator = n;
    }

    public void setDenominator(int d) {
        denominator = d;
    }

    public int getNumerator() {
        return numerator;
    }

    public int getDenominator() {
        return denominator;
    }

    public int add() {
        temp = numerator + denominator;
        return temp;
    }

    public int subtract() {
        temp = numerator - denominator;
        return temp;
    }

    public int multiply() {
        temp = numerator * denominator;
        return temp;
    }

    public int divide() {
        temp = numerator / denominator;
        return temp;
    }

   public boolean isEqual() {
        boolean isEqual;
        if (numerator == denominator) {
            isEqual = true;
        } else {
            isEqual = false;
        }
        return isEqual;
    }
}

测试类

public class testClass extends RationalNumbers {

    public static void main(String[] args) {
        setNumerator(5);
        setDenominator(10);
        System.out.println("Equal: " + isEqual());
        System.out.println("Numerator: " + getNumerator());
        // etc...
    }
}
4

1 回答 1

1

很抱歉告诉您这一点,但是您为有理数创建抽象的尝试在各方面都是错误的。这根本不正确。这些方法都不是正确的:加法、减法、乘法、除法、isEqual - 都是完全不正确的。

你不想覆盖equals() - hashCode()吗?是什么让你认为这isEqual()是个好主意?

查看示例以了解如何正确执行此操作。

于 2012-07-07T02:18:52.440 回答