2016 - 2024

感恩一路有你

静态方法可以被继承吗 Java中为什么静态方法不能被重写?

浏览量:2232 时间:2021-03-14 05:10:17 作者:admin

Java中为什么静态方法不能被重写?

静态方法可以继承,但不能重写。如果父类中定义的静态方法在子类中重新定义,则父类中定义的静态方法将被隐藏。可以使用语法:parent class name。静态方法调用隐藏的静态方法。如果父类包含一个静态方法,而子类也包含一个具有相同返回类型、方法名称和参数列表的静态方法,那么子类实际上会在父类中隐藏具有相同名称的方法,而不是重写它。换句话说,父类和子类中实际上有两个不相关的方法,它们的行为不是多态的。因此,当使用指向子类对象的父类引用变量调用具有相同父子名称的静态方法时,将只调用父类的静态方法。

java继承关系中为什么静态方法不能重写呢?

非静态方法属于类的实例,可以被子类重写以达到多态性的效果;静态方法属于类,不能被重写,因此不能实现多态性。

子类为什么不能重写父类的静态方法?

java声明为static的方法不能被重载?

静态方法属于这个类,而不是对象。没有继承或不继承这回事。覆盖和重写也是对象的方法,而不是静态方法。你要问的第二个问题是“隐藏”。方法被声明为静态的,静态方法不能被重写;它们只能被隐藏。为了避免这种混乱,永远不要隐藏静态方法。即使在子类的超类中重用静态方法的名称,也不会给您带来任何新的东西,但会丢失很多东西。”(Java拼图)

静态方法可以被继承吗 static方法可以被重写吗 static为什么不能被继承

版权声明:本文内容由互联网用户自发贡献,本站不承担相关法律责任.如有侵权/违法内容,本站将立刻删除。