比如重載toString函數,若前面不加那個@Override後果是什麼?就不重載了?
@Override
public String toString()
{
return description;
}
1.幫助自己檢查是否正確的復寫了父類中已有的方法
2.告訴讀代碼的人,這是一個復寫的方法
關於第一點,我給你再說明一下:
假設你現在要覆蓋一個方法,然後因為你粗心,寫錯了參數的類型,剛好你又沒有寫@override注解,那麼編輯器(eclipse)就不會提示你。
這時候就產生了一個隱藏的bug,明明是准備復寫方法,結果卻是重載了方法。
// 父類的方法:
public void test(int i) {
System.out.println(i);
}
// 子類重寫
// 第一種寫法,正確
@Override
public void test(int i) {
System.out.println(i + 1);
}
// 注意:這裡因為人為粗心導致 i 的類型寫成 float,沒有寫@Override注解,編輯器不會報錯,那這裡方法覆蓋就變成了方法重載。
public void test(float i) {
System.out.println(i + 1);
}