Java深入构造器

构造器是一个特殊的方法,这个特殊的方法用来创建实例时执行的,构造器是创建对象的重要途径,因此,java类必须包含一个或者一个以上的构造器。

1.构造器的最大用处就是在创建对象是执行初始化。但这个对象并不是完全有构造器负责创建的。实际上当系统调用构造器之前,系统已经已经创建了一个对象,只是这个对象不能被外部访问,只能在构造器中通过this来引用,当构造器的执行体执行结束后,这个对象作为构造器的返回值被返回。通常还会赋给一个引用变量。

2.构造器的重载,同一个类里面具有多个构造器,多个构造器的参数列表不同。构造器重载允许java类里面包含多个初始化逻辑,从而允许使用不同的构造器来初始化java对象。不同的行参列表之间我们通常通过this来相互调用,这样有利于我们后期代码的优化。

3.调用父类的构造器,子类不会获得父类的构造器,但子类构造器面可以调用父类构造器的初始化代码,类似前面所介绍的一个构造器调用另一个重载构造器。这时super和this的区别就是super调用的是其父类的构造器,而this调用的同一个类中重载的构造器。不管是否使用super调用来执行父类构造器的初始化代码,子类构造器总会调用父类的构造器一次。子类构造器执行体第一行使用super显示调用父类构造器,系统会根据super调用里传入的实参列表调用父类的构造器、子类构造器执行体第一行代码使用this显示调用本类中的重载构造器,系统会根据this调用传入的实参列表调用本类的另一个构造器,执行本类中的另一个构造器事会调用父类的构造器、在子类既没有this调用,也没有super调用,系统将在执行子类构造器之前隐式调用父类的无参数的构造器。

转载于:https://my.oschina.net/zkctt/blog/706654

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值