假设我试图覆盖一个方法但错误地放入了一个新的 sig,例如
public boolean equals(Circle o)
这种方法实际上是做什么的?我怎么称呼它?
你不是压倒一切,你是超载。如果你想覆盖,你应该使用@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())
这基本上是在你的类中重载超类的方法。您可以像任何其他方法一样调用它,在您的情况下,通过将Circle
对象传递给该equals
方法