java:继承关系下构造方法的访问特点

访问特点:

1.子类构造方法当中有一个默认隐含的super()调用,所以一定是先调用的父类构造,后执行的子类构造。
2.子类构造可以通过super关键字来调用父类构造,super的父类调用,必须是子类构造方法的第一个语句。
3.不能一个子类构造调用多次super构造,只能在子类构造中调用父类构造
4.子类一定会调用到父类的构造方法,不写自动赠送super();写了则用写的指定super构造方法,不再赠送,并且还必须在第一行写。


相关代码:

 

 

代码结果: 

super关键字用来访问父类内容,this关键字用来访问本类内容

this关键字三种用法: 

本类成员方法中,访问本类中成员变量 this.a;
在本类成员方法中,访问本类的另一个成员方法 this.method2();
在本类构造方法中,访问本类当中另一个构造方法 this(123);


相关代码

 

 

代码结果:

 

 注意事项:虽然this()和super()都必须在构造方法里的第一个语句中,表面上两者是不能共存的,但我们可以从以上的代码运行结果看出,在子类的无参构造中,调用了本类的有参构造,结果是赠送了super(),先是调用了父类的无参构造后才开始运行子类无参构造里的代码(从而调用了子类无参里的有参构造),所以this()和super()是可以隐性共存的。


版权声明:本文为weixin_70298631原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。