@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
*///~
轉載于:https://www.cnblogs.com/jiangfeilong/p/10189882.html