java学习--构造方法

构造方法的作用:创建对象并初始化对象

定义规则:构造方法名与类名相同且没有返回值。(构造方法不需要设置返回值类型,包括void)

在没有定义构造方法是,编译器会自动为类添加形如  类名 () {}  的构造方法

 

继承类(子类)的构造方法

子类的构造方法中必须调用其父类的构造方法(显示的调用或者默认调用无参的父类构造方法)

如果子类的构造方法中没有显示的调用父类的构造方法,则系统会默认调用父类的无参数构造方法

如果子类的构造方法中没有显示的调用父类的构造方法,而父类中又没有无参的构造方法,则编译出错

子类的构造方法可以使用 super(argument_list) 来显示的调用父类的构造方法,且必须写在子类构造方法的第一行

可以使用this(argument_list) 来调用本类其他的构造方法

 

加深理解

1.如果子类和父类都没有定义构造方法,则编译器会为父类和子类都自动添加 类名() {} 的无参构造方法

而子类创建对象时,就是使用编译器为子类自动添加的构造方法,子类的构造方法会自动调用编译器为父类自动添加的无参构造方法

 

2.如果父类中定义了一个有参的构造方法,则编译器不会为父类自动添加无参的构造方法

如果子类没有定义构造方法,或者子类中定义了构造方法,但没有显示的调用父类的构造方法,则会编译出错。

因为此使子类需要默认调用父类的无参构造方法,而父类中却没有无参的构造方法,所以编译出错

 

转载于:https://www.cnblogs.com/gaoBlog/p/10620548.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值