覆盖equals方法 - 遇到问题

时间:2016-02-06 18:35:28

标签: java override

男人和/或女孩。我在编程2类的编程任务上遇到了一些麻烦。我感到有点惭愧,因为我似乎在上课时表现出色,所以我很失落。我提前为最有可能是一个微不足道的问题而道歉,但是我无法将我在网上找到的任何解决方案应用到我的特定代码中。长话短说,我有一个Car构造函数,它有一个make和model的两个字符串(分别是Honda,civic)。

public Car(String make, String model, double basePrice, String plateNum)
{
    this.make = make;
    this.model = model;
    this.basePrice = basePrice;
    this.plateNum = plateNum;
}

为了使equals方法起作用,汽车必须具有相同的品牌和型号。这是我一直在搞乱的东西,但它总是返回错误。

@Override
public boolean equals(Object other)
{
    if(!(other instanceof Car))
        return false;

    Car temp = (Car)other;


    if(this.equals(temp.getMake()) && this.equals(temp.getModel()))
        return true;
    else
        return false;
}

我已经在instanceof if语句前面没有“not”的情况下尝试过,而且我试过反转这个和temp,但没有用。我知道放弃家庭作业的答案是不受欢迎的,我完全理解它。如果没有,或许有人可以善意地解释我做错了什么?我不完全确定“这个”是什么意思。我想它本质上是一个占位符,用于调用该方法。在这种情况下,它将是 CarObject .equals。

无论如何,提前再次感谢你。这个网站过去曾多次帮助我,我很期待任何回复。 :)

0 个答案:

没有答案