@Override用來表示某一個方法是重寫的父類的方法。
舉例
public class Parent {
public void method1(){
System.out.println("我是父類的方法一");
}
}
public class Son extends Parent {
@Override
public void method1(){
System.out.println("子類的方法");
}
}
public static void main(String[] args) {
Parent p=new Son();
p.method1();
}
子類重寫了父類的method1方法,通過父類實例化子類,調用method1實際調用的是子類重寫的父類的方法。
當然@Override去掉也可以不會出錯。但如果子類想重寫父類的方法卻寫錯了方法名,如下
public class Son extends Parent {
@Override
public void method2(){
System.out.println("子類的方法");
}
}
誤將方法名寫錯,沒有@Override標識,實際運行的還是父類的方法。如果架上@Override標識,則編譯不能通過。
@Override的作用就是檢測該方法,是否在父類中出現過,如果有則可以重寫,沒有則不亦不能通過。這樣避免了想重寫方法卻寫錯方法名的情況。