这是一个愚蠢的问题,但是自从我使用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; } ?
我也有几个继承自这个类的类,所以我不确定这是否有所作为。
布尔参数与其他任何类型一样。
因此,将是这样。
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的基本构造函数。
super()