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

2024-12-22 19:32:15
推荐回答(5个)
回答1:

这只是JAVA 中的一个规则,
父类无参数的构造方法不一定什么都不做。
调用他是JDK的事,你不必理会,知道他会这样做就可以,避免冲突。比如说:父类无参数的构造方法 输出了个什么,子类你在输出个一样的 就冲突了。

回答2:

这个是规范,只有先调用了默认的无参构造器才能为下面的覆盖默认构造器的方法做铺垫。可能有地方说的不对请谅解。

回答3:

因为你构造一个子类对象的时候,必须先构造一个父类对象,这在逻辑上也是对的,没有父亲,哪来的儿子。父类子类都只是定义了,并没有真实的对象。即使默认的构造函数并没没有初始化一些属性,但是也构造父类对象了。
调用父类的有参构造参数是为了初始化子类对象继承了父类对象的属性,子类继承了父类,有可能会对父类属性的部分做出改变,那没改变的部分在子类的构造函数里没法初始化,就只能靠父类的构造函数了。

回答4:

由于父类的参数定义域内一般不会对参数赋初值,当创建没有参数的父类对象时,有必要对其内部的参数进行初始化,所以父类的无参构造函数内部可能对一些参数进行了初始化工作。
子类的构造器中提供的参数可能只是所有参数的一部分的值,若不先调用父类的无参构造函数,则很可能有些重要的参数没有进行初始化赋值,在子类的其他方法进行操作时会出现严重的错误。
所以有必要调用一次父类的无参构造函数。

回答5:

任何类都提供一个无参构造,是一个JAVA程序员的良好习惯
关于继承么,有父亲才能有儿子吧,,,
你怎么知道无参构造函数怎么也不做??