欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

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

程序员文章站 2024-02-25 18:09:09
被覆盖比较好理解,类似于多态的实现,访问时通过类方法表来访问,你实际是什么类型,访问的方法就是那个类型的方法而不会是你的父类的方法。 被隐藏是指静态方法的访问是根据当前对...

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

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

super s = new sub();

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

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

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

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

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