java中为什么静态方法不能被重写?
静态方法可以继承,但不能重写。如果父类中定义的静态方法在子类中重新定义,则父类中定义的静态方法将被隐藏。可以使用语法:parentclassname。静态方法调用隐藏的静态方法。如果父类包含一个静态方法,而子类也包含一个具有相同返回类型、方法名称和参数列表的静态方法,那么子类实际上会在父类中隐藏具有相同名称的方法,而不是重写它。换句话说,父类和子类中实际上有两个不相关的方法,它们的行为不是多态的。因此,当使用指向子类对象的父类引用变量调用具有相同父子名称的静态方法时,将只调用父类的静态方法。
java继承关系中为什么静态方法不能重写呢?
非静态方法属于类的实例,可以被子类重写以达到多态性的效果;静态方法属于类,不能被重写,因此不能实现多态性。
子类为什么不能重写父类的静态方法?
java声明为static的方法不能被重载?
静态方法属于这个类,而不是对象。没有继承或不继承这回事。覆盖和重写也是对象的方法,而不是静态方法。你要问的第二个问题是“隐藏”。方法被声明为静态的,静态方法不能被重写;它们只能被隐藏。为了避免这种混乱,永远不要隐藏静态方法。即使在子类的超类中重用静态方法的名称,也不会给您带来任何新的东西,但会丢失很多东西。”(java拼图)
原文标题:静态方法可以被继承吗 Java中为什么静态方法不能被重写?,如若转载,请注明出处:https://www.saibowen.com/wenda/22259.html
免责声明:此资讯系转载自合作媒体或互联网其它网站,「赛伯温」登载此文出于传递更多信息之目的,并不意味着赞同其观点或证实其描述,文章内容仅供参考。