Java Superclass静态方法能否被重写
在Java中,静态方法不能被重写(override)。静态方法是与类关联的,而不是与实例关联的。因此,当你尝试在子类中重写一个静态方法时,实际上你是在创建一个新的静态方法,而不是重写父类的方法。
然而,如果子类定义了一个与父类静态方法具有相同名称和签名的静态方法,那么子类的静态方法将隐藏(shadow)父类的静态方法。这意味着当你在子类的实例上调用这个方法时,将会调用子类的静态方法,而不是父类的静态方法。这种情况下,你可以说子类的静态方法覆盖了父类的静态方法,但这种说法并不准确,因为它们实际上是两个不同的方法。
总之,Java中的静态方法不能被重写,但可以在子类中定义一个同名的静态方法来隐藏父类的静态方法。