可能重複:
When do you use Java's @Override annotation and why?什麼是@Override註釋的點在Java 1.6的
我一直運行到由於此註釋不兼容的問題。無論如何都有什麼意義?
簡單地重寫一個方法和重寫一個方法+用@override註釋它有什麼區別?
可能重複:
When do you use Java's @Override annotation and why?什麼是@Override註釋的點在Java 1.6的
我一直運行到由於此註釋不兼容的問題。無論如何都有什麼意義?
簡單地重寫一個方法和重寫一個方法+用@override註釋它有什麼區別?
要從@Override
JavaDoc的引用:
如果一個方法被標註與此註釋類型,但不覆蓋一個超類方法,編譯器是必需的,以產生一個錯誤消息。
所以一個很好的答案是「防止潛在的運行時錯誤在編譯時」 :-)
乾杯,
它說清楚,一個方法應覆蓋父母的方法。
如果您遇到問題,建議您在父類中進行許多不兼容的更改(無需讓IDE爲您執行此操作),或者您正在使用不支持此註釋的Java 5.0編譯代碼實現一個接口。
如果您不是真的重寫某個方法,則會發出錯誤。
例如,你有
public class SuperClass {
public void doSomething(int a) {
}
}
同時延長了它你可作出錯誤
public class SubClass {
public void doSomething(String a) {
}
}
現在你相信你已經重新實現超類方法,但你只是增加了一個新的。
在方法聲明之前加上@Override
並且會顯示一個錯誤,所以你知道有什麼問題。
http://stackoverflow.com/questions/94361/when-do-you-use-javas-override-annotation-and-why – Zavior
類似的帖子可能會有所幫助:http://stackoverflow.com/questions/ 8076008 /什麼,是最專門的最超越的註釋 –