【java 构造函数】为什么子类一定要访问父类中的构造函数

来源:互联网 发布:m1136mfp扫描软件 编辑:程序博客网 时间:2024/06/06 14:27

http://bbs.itheima.com/forum.php?mod=viewthread&tid=123305&page=1#pid791045

原因:

子类的所有构造函数中的第一行,其实都有一条隐身的语句super();


解释:
super()表示父类的构造函数并会调用于参数相对应的父类中的构造函数。子类中,它在调用父类中空参数的构造函数。因为子类继承父类,会继承到父类中的数据,所以必须要看父类是如何对自己的数据进行初始化的。所以子类在进行对象初始化时,先调用父类的构造函数,这就是子类的实例化过程。


特注:
1、子类中所有的构造函数都会默认访问父类中的空参数的构造函数,因为每一个子类构造内第一行都有默认的语句super();
2、若父类中没有空参数的构造函数,那么子类的构造函数内,必须通过super语句指定要访问的父类中的构造函数;
3、若子类构造函数中用this来指定调用子类自己的构造函数,那么被调用的构造函数也一样会访问父类中的构造函数。
0 0
原创粉丝点击