程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 更多編程語言 >> 編程綜合問答 >> string-java中如果重載函數前不加@Override會怎麼樣?

string-java中如果重載函數前不加@Override會怎麼樣?

編輯:編程綜合問答
java中如果重載函數前不加@Override會怎麼樣?

比如重載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);
}
  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved