2016 - 2024

感恩一路有你

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

浏览量:1566 时间:2021-03-15 08:45:52 作者:admin

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

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

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

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

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

当然不是。所谓静态是指虚拟机在运行时已确定此方法属于哪个类。”“重写”只能用于实例方法,而不能用于静态方法。对于静态方法,它只能被隐藏(楼下说可以重写,这只是形式化的,不符合多态性特征,所以严格来说,它不是重写)、重载和继承

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

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