在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(面向对象)中,子类如何调用父类的构造方法?分别从无参和有参角度