java在子类里调用一个有参的构成函数,会默认调用父类的构造函数吗,为啥???

Posted

tags:

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

参考技术A 如果子类里存在 有参的构造函数,则调自己的;

如果子类没有,父类里有 相应的有参构造函数,则调父类的;

如果子类,父类都没有,那就报错。

//Parent.java
public class Parent

public static void main(String args[])

System.out.println("this is father class");




//Child.java
public class Child extends Parent

public static void Child(String a,String b)

System.out.println("this is child mudi struct method");



public static void main(String args[])

System.out.println("this is child class");
Child("xx","xx");




//命令行
C:\java>javac *.java

C:\java>java Child
this is child class
this is child mudi struct method本回答被提问者采纳
参考技术B 构造都会从上往下构造的
不管你构造的子类带不带参数,它都会从父类的无参构造函数开始构造起
当然,如果你显示在子类调用父类的构造函数就另说了
参考技术C 基本概念没搞清楚。

儿子长的像父亲,你还去问为什么?不打死你的。

如果有问题,在子类里面重写这个函数不就得了。
参考技术D 会,而且必须调用 第5个回答  2018-03-16 楼主 你那不是方法嘛 怎么跟函数扯上了

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

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

以上是关于java在子类里调用一个有参的构成函数,会默认调用父类的构造函数吗,为啥???的主要内容,如果未能解决你的问题,请参考以下文章

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

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

java构造方法和方法的区别

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

C#的构造函数在基类和父类中执行顺序

java的继承中子类先调用父类无参构造函数是为了干啥,默认这个无参的构造函数啥也不做,那调用它干啥