凯旋899 2022-04-13 00:36 采纳率: 60%
浏览 26
已结题

Java非静态代码块与子父类问题

非静态代码块随对象的创建而执行,
而创建对象会自动调用父类构造器super()
加载了父类,必然会执行静态代码块,
但父类没有创建对象,为什么还会执行父类的非静态代码块?

  • 写回答

2条回答 默认 最新

  • 关注

    初始化子类之前,先要初始化父类,因为子类可能会调用父类的方法。然后你说父类没有创建对象,但是其实子类对象就是父类的一个对象。这点可以从,子类的向上转型可以把子类对象转换成父类对象看出

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

问题事件

  • 系统已结题 2月9日
  • 已采纳回答 2月1日
  • 创建了问题 4月13日