java实例方法被覆盖,静态方法被隐藏Explain(详解)

时间:2021-05-19

被覆盖比较好理解,类似于多态的实现,访问时通过类方法表来访问,你实际是什么类型,访问的方法就是那个类型的方法而不会是你的父类的方法。

被隐藏是指静态方法的访问是根据当前对象的表面类型来决定的,比如

Super s = new Sub();

s.greeting()访问的是Super的静态方法,如果是Sub s = new Sub();则访问的是Sub的静态方法。

换句话说,这个实现不了多态。

此外,静态方法和实例方法不能互相覆盖(会报错),因为他们的在字节码中的的绑定位置不同。

以上这篇java实例方法被覆盖,静态方法被隐藏Explain(详解)就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持。

以上这篇java实例方法被覆盖,静态方法被隐藏Explain(详解)就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持。

声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。

相关文章