假如我试图覆盖某个方法但是错误地输入了新的sig,例如
public boolean equals(Circle o)
这种方法实际上做了什么?我怎么称呼它?
答案 0 :(得分: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())
答案 1 :(得分:1)
这基本上是在你的类中重载超类的方法。在任何其他方法中,您可以通过将Circle
对象传递给equals
方法