关于子类执行自身构造器之前会先执行父类构造器的说明

在java中,sun公司设置了子类在执行其构造器之前必须先执行父类的构造器(默认是父类的无参构造器),咱们一起看代码演示

//父类
class Demo1{
	private String name;
	public Demo1(){
		System.out.println("我是父类");
	}
	public Demo1(String name){
		System.out.println("我的名字是"+ name);
	}
}
//子类
class Demo2 extends Demo1{
	private int age;
	public Demo2(){
		System.out.println("我是子类");
	}
	public Demo2(int age){
		System.out.println("我的年龄是"+ age);
	}
}
//主函数调用
public class Demo{
	public static void main(String[] args){
			//执行子类的无参构造
			new Demo2();
	}
}

最终控制台上显示的是:

我是父类
我是子类

其实子类构造器这里有个默认代码没有展示出来,这是默认存在的(注释部分)

//子类
class Demo2 extends Demo1{
	private int age;
	public Demo2(){
		//super();//默认存在可以不写
		System.out.println("我是子类");
	}
	public Demo2(int age){
		//super();//默认存在可以不写
		System.out.println("我的年龄是"+ age);
	}
}

默认去调用父类的无参构造器,所谓运行之后会先显示父类的无参构造器内容,再显示子类的
当然,如果我们需要显示父类的有参构造器的时候,可以将这段代码

super();

手动修改为

super(参数);

这样就可以只调用父类的有参构造器了


如果我的文章帮助到您的话,还麻烦动动您的小手点个赞哦~ O(∩_∩)O!

  • 3
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值