这是“隐藏”,而不是“覆盖”。要看到这一点,请将
main方法更改为以下内容:
public static void main (String[] arghh) { next n = new next(); n.show(); stat13 s = n; s.show();}
这应该打印:
Static in derivedStatic in base
如果正在进行真正的覆盖,那么您会看到:
Static in derivedStatic in derived
通常认为使用实例类型来调用静态方法是一种不好的方式,就像您正在做的那样,因为很容易想到您正在调用实例方法,并且容易误以为重写正在发生。Java样式检查器/代码审核工具通常会将其标记为样式错误/潜在错误。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)