Java 5里新增加了@Override注解,如果你在某子类的某方法的前面加上此注解,编译器会强制你覆写其父类的同名方法,而非重载该方法.这段东西在Thinking in Java 4的第7章里并没有给出具体的例子,这里我给大家写个简单的列子,不能运行,但能说明问题,可以拿到elciplse里去试验,代码大体如下(例子很黄很暴力,女程序员莫看):
注意,请看注释掉的语句,把注释去掉,编译器会提示你错误,要求你必须覆写父类的makeLove()方法,而不是重载makeLove()方法,此方法很黄很暴力.
/**
* 男人类
*/
class Man
{
/**
* 返回做爱时间
* @return
*/
public int makeLove()
{
return 20;
}
}
/**
* 鸭子
*/
class DuckMan extends Man
{
@Override public int makeLove()
{
return 200;
}
/*
@Override public int makeLove(String way)
{
}*/
}
* 男人类
*/
class Man
{
/**
* 返回做爱时间
* @return
*/
public int makeLove()
{
return 20;
}
}
/**
* 鸭子
*/
class DuckMan extends Man
{
@Override public int makeLove()
{
return 200;
}
/*
@Override public int makeLove(String way)
{
}*/
}