Android Studio中@override的含义
我是Android Studio的新手,我想知道@Override
Android Studio中声明的目的。
回答:
@Override是Java注释。它告诉编译器以下方法将覆盖其超类的方法。例如,假设您实现了一个Person类。
public class Person { public final String firstName;
public final String lastName;
//some methods
@Override public boolean equals(Object other) {
...
}
}
人员类具有equals()方法。equals方法已经在Person的超类Object中定义。因此,以上equals()的实现是对Persons的equals()的重新定义。也就是说,Person覆盖equals()。
覆盖方法而不显式注释是合法的。那么@Override注释有什么用呢?如果您不小心尝试以这种方式覆盖equals()怎么办:
public boolean equals(Person other) { ...
}
上面的案例有一个错误。您本来打算覆盖equals(),但没有。为什么?因为真正的equals()获取一个Object作为参数,而equals()获取一个Person作为参数。编译器不会告诉您该错误,因为编译器不知道您要覆盖。就编译器所知,您实际上打算重载
equals()。但是,如果您尝试使用@Override注解覆盖均等值:
@Override public boolean equals(Person other) { ...
}
现在,编译器知道您有错误。您想覆盖但没有。因此,使用@Override批注的原因是显式声明方法重写。
以上是 Android Studio中@override的含义 的全部内容, 来源链接: utcz.com/qa/413498.html