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