个人理解吧,构造代码块它就不是函数!因为子类可以直接获取父类数据,那么建立子类对象时,那么的先知道父类是怎么对这些数据进行初始化的吧。父类的构造代码块就是干这事的,它先于子类构造代码块执行了,拿还谈什么覆盖啊。
ExtendsTest2 object = new ExtendsTest2(); 建立子类对象,要先访问父类的初始化部分吧,所以是先执行父类构造代码块、构造函数,然后才是子类初始化部分构造代码块、构造函数!
object.print(); 执行覆盖后的子类方法吧。
0基础菜鸟,看了几天视频,汗颜汗颜! |
|