小编典典

如何编写一个包含布尔值的构造函数?

java

这是一个愚蠢的问题,但是自从我使用Java以来​​已经有很长的时间了……我该如何用布尔值编写构造函数,还是应该编写默认构造函数?我最近一直在使用C
++,但是我忘记了Java的很多语法。

这是我到目前为止所拥有的:

public class Creature {
    protected int terrain;
    public static final int DESERT = 0;
    public static final int MOUNTAIN = 1;
    public static final int FOREST = 2;

    //symbols on cards
    boolean flyingCreature = false;
    boolean magicCreature = false;
    boolean canCharge = false;
    boolean rangedCombat false;
    public int specialAbility = 0;

    public Creature(int startTerrain, boolean flying, boolean magic, boolean charge, boolean ranged, int special){
        ?
    }   
}

搜索时似乎找不到任何东西…如何初始化构造函数中的每个值?还是我应该

public Creature(){
    startTerrain = DESERT;
    flyingCreature = false;
    magicCreature = false;
    canCharge = false;
    specialAbility = 0;
} ?

我也有几个继承自这个类的类,所以我不确定这是否有所作为。


阅读 319

收藏
2020-11-30

共1个答案

小编典典

布尔参数与其他任何类型一样。

因此,将是这样。

public Creature(int startTerrain, boolean flying, boolean magic, boolean charge, boolean ranged, int special){
        terrain = startTerrain;
        flyingCreature = flying;
        magicCreature = magic;
        canCharge = charge;
        rangedCombat = ranged;
        specialAbility = special;
}

如果这些参数在开始时总是相同的,则可以按照您所说的在默认构造函数上进行设置。

由于您有继承super()该类的类,因此它们的构造函数将必须调用,从而调用父类的构造函数。如果不带任何参数调用它,则将调用Creature的基本构造函数。

2020-11-30