黑马程序员技术交流社区
标题:
继承中父类为static的方法时为什么无法覆盖?
[打印本页]
作者:
中平
时间:
2015-6-12 00:58
标题:
继承中父类为static的方法时为什么无法覆盖?
继承中父类为static的方法时为什么无法覆盖?
作者:
edithe
时间:
2015-6-12 13:20
复写的方法怎么样才会存在jvm中呢?只有在创建对象时,才存在覆盖,对象实体在堆中,
用static修饰的方法存在方法区,类加载的时候就存在了,如果要覆盖,对象都还没创建,请问去覆盖谁
作者:
水蛭31
时间:
2015-6-12 13:47
在我看来, 可以通过内存的分析来理解, 首先,当子类继承父类的时候, 调用父类的方法,必须先要创建子类对象才可以调用,在内存中堆空间中,分配了一块区域来存放,但是父类中的成员方法如果是静态的话,静态是随着类的加载就已经加载了,在创建对象之前,这样是无法办到的,因此就无法覆盖父类中的静态方法了,
作者:
中平
时间:
2015-6-12 22:49
好像明白点什么
作者:
Foundmoon
时间:
2015-6-12 22:57
静态方法是在编译时就绑定的
作者:
VIP1108210117
时间:
2015-6-13 09:43
静态方法和private方法不让覆盖的
作者:
world.net
时间:
2015-6-13 10:03
楼上说的很清楚了
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2