Java中@Override的作用

劍西樓發表於2017-03-21

@Override是虛擬碼,表示重寫(當然不寫也可以),不過寫上有如下好處: 
1、可以當註釋用,方便閱讀;
2、編譯器可以給你驗證@Override下面的方法名是否是你父類中所有的,如果沒有則報錯。例如,你如果沒寫@Override,而你下面的方法名又寫錯了,這時你的編譯器是可以編譯通過的,因為編譯器以為這個方法是你的子類中自己增加的方法。
 
舉例:在重寫父類的onCreate時,在方法前面加上@Override 系統可以幫你檢查方法的正確性。
@Override
public void onCreate(Bundle savedInstanceState)

{…….}
這種寫法是正確的,如果你寫成:

@Override
public void oncreate(Bundle savedInstanceState)
{…….}
編譯器會報如下錯誤:The method oncreate(Bundle) of type HelloWorld must override or implement a supertype method,以確保你正確重寫onCreate方法(因為oncreate應該為onCreate)。而如果你不加@Override,則編譯器將不會檢測出錯誤,而是會認為你為子類定義了一個新方法:oncreate

相關文章