普通方法、普通方法的初始化和普通初始化块,三者相同吗?

来源:9-4 Java 中的继承初始化顺序

,_0034

2016-04-16 10:48

普通方法、普通方法的初始化和普通初始化块,三者相同吗?前面讲的执行顺序:静态初始化块>普通初始化块>构造方法,那么是不是普通方法的执行顺序也大于构造方法的执行顺序?如果是,在视频中,为什么子类构造方法先执行,而子类继承父类的普通方法“动物具有吃东西的能力”最后执行?

写回答 关注

2回答

  • Mirwangsir
    2016-04-16 11:17:22
    已采纳

    代码执行顺序:static代码块--> 构造方法 --> 普通方法

  • sonicgyq
    2016-04-16 11:06:33

    (1) 在一个不存在继承的类中:初始化static变量,执行static初始化快-->初始化普通成员变量(如果有赋值语句),执行普通初始化块-->构造方法

      (2)在一个存在继承的类中:初始化父类static成员变量,运行父类static初始化块-->初始化子类static成员变量,运行子类static初始化块-->初始化父类实例成员变量(如果有赋值语句),执行父类普通初始化块-->父类构造方法-->初始化子类实例成员变量(如果有赋值语句)及普通初始化块-->子类构造方法。


    鱼儿梦 回复,_0034

    不相同

    2017-05-02 11:57:24

    共 2 条回复 >

Java入门第二季 升级版

课程升级!以终为始告别枯燥,在开发和重构中体会Java面向对象编程的奥妙

530644 学习 · 6091 问题

查看课程

相似问题