@Override其实最主要的作用就是一个注解和验证是否重写了方法
- 可以当注释用,方便阅读;
- 编译器可以给你验证@Override下面的方法名是否是你父类中所有的,如果没有则报错。例如,你如果没写@Override,而你下面的方法名又写错了,这时你的编译器是可以编译通过的,因为编译器以为这个方法是你的子类中自己增加的方法。
这里举个案例
public class Parent {
public void name() {
System.out.println("Parent");
}
}
public class Student extends Parent {
@Override // 验证该方法是否重写了父类的方法
public void name() {
System.out.println("Student");
}
}
public class StudentDemo {
public static void main(String[] args) {
Student s1 = new Student();
// 会逐级向上寻找 如果子类没有则找父类
s1.name();
}
}
这里@Override的作用就是判断Student的name方法是否重新来Parent的name方法,写与不写都可