在java语言里如何在子类中调用父类的有参构造函数

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了在java语言里如何在子类中调用父类的有参构造函数相关的知识,希望对你有一定的参考价值。

如果你是想在子类的构造函数中调用父类构造函数,则需要在子类的构造函数的函数体第一行(注释语句除外)使用:super(参数列表)的方式调用,该参数列表与父类有参构造函数声明的参数列表一致,如果你不是在子类构造函数中调用,则无法直接调用父类构造函数,这时创建一个父类对象(通过你想调用的有参父类构造函数创建),就间接调用了该构造函数。 参考技术A 如果父类有带参构造方法,子类必须重写带参构造方法,调用方法是super(),参数个数和父类一样,并且super必须写在第一句,然后才能实现你的逻辑。连任何定义语句都不行。 参考技术B
super(arg1,arg2....);

只能写在第一句。不然报错。
参考技术C 条件不明啊,如果只是过滤空格使用
String s1=new String();
s1=s1.replaceAll(" ","");
就行了,你要提取什么呢?
请参考

子类的每个构造方法调用父类的构造方法吗

参考技术A 可以的,如果不用super关键字,就会默认调用父类无参的构造方法(当然要父类有,即是你没有构建有参的构造方法,那样会覆盖默认的无参方法),调用有参的构造方法使用super关键字加上相应的参数列表。 参考技术B 当然了呀,只要你继承了父类。你的
构造方法
在初始化成员变量的时候就要先调用父类的构造方法,如果是子类的有残的构造方法初始化的时候默认调super,(父类的无参构造方法),如果是给出了super(参数),就调用父类的有参构造方法

以上是关于在java语言里如何在子类中调用父类的有参构造函数的主要内容,如果未能解决你的问题,请参考以下文章

java(面向对象)中,子类如何调用父类的构造方法?分别从无参和有参角度

子类可以同时继承父类的有参构造函数和无参函数吗,继承了无参函数还会再继承有参函数吗?

子类调用父类的构造函数

子类的每个构造方法调用父类的构造方法吗

面向对象:继承抽象类抽象方法虚方法

看下面代码输出结果Java