浅谈JAVA继承关系中的构造函数
话不多说直接上例子,我的例子中定义了两个类,TheSon和TheFather,TheSon继承了TheFather,如图:
TheSon类的定义:
TheFather类的定义:
当我们初始化TheSon类的时候,也就是new TheSon()的时候,就会调用TheSon类中的无参构造器,如图:
我们看到在代码中并没有调用TheFather类中的构造,来看看运行结果:
可以看到即使没有调用父类的构造父类的构造依旧执行了,那这是怎么回事呢?
答案很简单:java在执行过程中在执行子类的构造方法之前会隐式的调用父类的无参,如图:
再看运行结果:
当我们显示的调用之后,它就不会再进行隐式的调用,比如我们在相同地方调用父类的有参构造,如图:
有萌新可能就会疑问了,super这个关键字到底是干嘛的?
概念:在Java类中使用Super来引用父类的成分,用this来引用当前对象
- - -以上就是此次的分享,感谢阅读,有疑问,或者有错误的地方可以留言