java学习--构造方法

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java学习--构造方法相关的知识,希望对你有一定的参考价值。

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

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

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

 

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

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

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

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

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

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

 

加深理解

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

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

 

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

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

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

 

以上是关于java学习--构造方法的主要内容,如果未能解决你的问题,请参考以下文章

Java学习笔记3.3.1 对象初始化 - 构造方法

Java学习笔记3.3.1 对象初始化 - 构造方法

JAVA基础学习-构造方法

JAVA学习笔记

“全栈2019”Java第三十九章:构造函数构造方法构造器

[ Java学习基础 ] Java构造函数