| java.lang.Override是J2SE
5.0中標準的Annotation型態之一,它對編譯器說明某個方法必須是重新定義父類別中的方法,編譯器得知這項資訊後,在編譯程式時如果發現該方法
並非重新定義父類別中的方法,就會回報錯誤。 舉個例子來說,如果您在定義新類別時想要重新定義toString()方法,您可能會寫成這樣:
public class CustomObject {
在撰寫toString()方法時,您因為打字錯誤或其它的疏忽,將之打成了ToString(),但您編譯這個類別時並不會出現任何的錯誤,編譯器只當 您是定義了一個新的ToString()。 您可以使用java.lang.Override這個Annotation型態,在方法上加上一個@Override的Annotation,告訴編譯器 您現在定義的這個類別是重新定義父類別中的同名方法,例如:
public class CustomObject {
在編譯程式時,編譯器看到@Override這個Annotation,瞭解它必須檢查這個方法是不是重新定義父類別的ToString()方法,但父類 別中並沒有這個方法,所以它會回報錯誤: CustomObject.java:2: method does not override a method from its superclas
@Override ^ 1 error 重新修改一下程式,編譯時就不會有問題了:
public class CustomObject {
java.lang.Override是個Marker annotation,簡單的說就是用於標示,annotation名稱本身即包括了要給工具程式的資訊。 |