@Override使用
时间: 2023-11-25 08:07:37 浏览: 27
@Override注解标记的方法声明,如果没有覆写或者实现超类的方法声明,或者不是覆写Object的public方法,那么编译就会报错。使用@Override注解有助于我们尽早发现这样的错误:本来想声明一个“覆写”方法,却偶然声明成“重载”方法。
示例一:
```
public class Example {
public void method1() {
System.out.println("Method 1");
}
@Override
public void method2() {
System.out.println("Method 2");
}
}
```
在示例一中,如果没有使用@Override注解标记method2方法,那么编译器将会认为这是一个新的方法,而不是对超类的方法进行覆写,从而导致编译错误。
示例二:
```
public class Person {
@Override
public boolean equals(Person person) {
return this.name.equals(person.name);
}
@Override
public boolean equals(Object person) {
return this.name.equals(((Person)person).name);
}
}
```
在示例二中,如果没有使用@Override注解标记equals方法,那么第一个equals方法将会被认为是重载方法,而不是覆写超类的equals方法,从而导致编译错误。
所以,使用@Override注解有助于我们避免错误地声明方法。