小编use*_*796的帖子

在Java中,您可以通过父类的子类的构造函数调用父类的超类构造函数吗?

我知道措辞有点令人困惑和奇怪,但忍受我,我不知道如何短语,任何更短.

假设你有一个被调用的类SuperBlah,并且你在一个叫做的类中继承了它,Blah然后你继承Blah了一个名为ChildBlah(So SuperBlah-Blah-ChildBlah)的类.super();ChildBlah构造函数中使用的关键字SuperBlah是否Blah会在没有构造函数的情况下调用构造函数?

对于那些拒绝的人,那为什么会这样呢?我们有一个名为BlusterBug的类,它扩展了Critter类,并在BlusterBug的构造函数中调用了super.Critter没有构造函数,但是Critter扩展的Class确实有一个构造函数.(我故意省略了类的其余代码)

public class BlusterCritter extends Critter {
    // instance vaiables
    private int courageFactor;
    private static final double DARKENING_FACTOR = 0.05;
    // create a constructor(include what is necesary for parent)
    public BlusterCritter(int c)
    {
        super();
        courageFactor = c;
    }
Run Code Online (Sandbox Code Playgroud)

然后在Critter类中,它没有任何构造函数!

public class Critter extends Actor// omitted all the code
{
    /**
     * A critter acts by getting a list of other …
Run Code Online (Sandbox Code Playgroud)

java inheritance constructor

7
推荐指数
1
解决办法
521
查看次数

标签 统计

constructor ×1

inheritance ×1

java ×1