@Override注解,不是關鍵字,但可以當關鍵字使用,可以選擇添加這個注解,在你不留心重載而並非復寫了該方法時,編譯器就會產生一條錯誤:The method doh(Milhouse) of type Bart must override or implement a supertype method
// reusing/hide.java //owrloading a base method name in a derived package object; import static net.mindview.util.Print.*; class Homer{ char doh(char c) { print("doh(char)"); return 'd'; } float doh(float f) { print("doh(float"); return 1.f; } } class Milhouse{} class Bart extends Homer{ void doh(Milhouse m) { print("doh(Milhouse"); } @Override char doh(char c) //基類必須也有char doh(char c)方法 { print("I have not heavy load"); return 'a'; } } public class Hide { public static void main(String[] args) { Bart b = new Bart(); b.doh(1); b.doh('x'); b.doh(1.0f); b.doh(new Milhouse()); } }/* output: doh(float I have not heavy load doh(float doh(Milhouse *///~
