看起来显示了一个static 方法被重写了
class Base
{
public static void stamethod()
{
System.out.println("Base");
}
}
public class ItsOver extends Base
{
public static void main(String argv[])
{
15
ItsOver so = new ItsOver();
so.stamethod();
}
public static void stamethod()
{
System.out.println("amethod in StaOver");
}
}
这段代码会被编译并且输出"amethod in StaOver",
但我认为这就是重写,也不是覆盖,因为我修改了子类中的static方法的访问修饰符,但它符合重写的规则,
但在SCJP java 5 的指导书中,说static方法不能被重写,只能被重定义,但我不知道重写和重定义有什么区别 |
|