-3

假设我试图覆盖一个方法但错误地放入了一个新的 sig,例如

public boolean equals(Circle o)

这种方法实际上是做什么的?我怎么称呼它?

4

2 回答 2

2

你不是压倒一切,你是超载。如果你想覆盖,你应该使用@Override

class A {
    int x;
    @Override
    public boolean equals(A a) {
        return this.x == a.x;

然后编译器会让你知道你并没有真正覆盖任何东西。

如果您确实打算覆盖它,请删除@Override并像任何其他方法一样调用它

MyCls cls = new MyCls();
cls.equals(new Circle())
于 2013-09-11T23:49:32.960 回答
1

这基本上是在你的类中重载超类的方法。您可以像任何其他方法一样调用它,在您的情况下,通过将Circle对象传递给该equals方法

于 2013-09-11T23:45:58.833 回答