当前位置: 首页 > 面试题库 >

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

司空锋
2023-03-14
问题内容

这是一个愚蠢的问题,但是自从我使用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的基本构造函数。



 类似资料:
  • 我怎么可能有一个递归布尔方法来检查它是否包含BAB。我有这个,但我想做它递归。

  • 我目前在我的大学学习初级java课程,仍然在学习编程的基础知识。这周我们一直在学习构造函数,我被困在本周任务的后半部分,所以任何帮助都将不胜感激。 实验室的第二部分(我一直坚持的部分)的说明如下: 为类Truck编写完整的代码,如下面的类图所示。一定不要在构造函数中使用重复的代码。例如,具有2个参数的构造函数应该调用具有1个参数的构造函数来设置柱体的值。 这些是它想让我做的构造函数。 任何关于如何

  • 问题内容: 这是我需要做的: 该构造函数使用52个卡对象初始化Deck,该对象表示标准卡座中的52张卡。这些卡片必须从黑桃A到钻石之王订购。 这是我的尝试: 这部分给我一个错误:“((新卡(套装,卡));” 说构造函数Card(String [],String [])是未定义的。我不确定是否允许我们添加额外的构造函数。为我们编写的代码确实包含Card(int,int)。 好吧,那呢?这行得通吗?

  • 当另一个函数的布尔值设置为“True”时,我试图做一些事情。我尝试使用return(variable),但当涉及到请求布尔值的函数时,它总是说False。在问这个问题之前,我看了一下这里,因为我觉得这似乎是非常基本的东西。但我找不到任何有用的东西。我希望有人能帮我做这件事。这是我的代码。

  • 我的问题是关于OOP(C)中的构造函数。当我在一个类中将默认构造函数定义为private,并且在main中将该类的一个对象初始化为default时,就会出现默认构造函数不可访问的错误。这很好。但我也在Public部分中使用默认参数构造函数,当我再次在main中初始化对象时,就会出现对函数重载的不明确调用。所以我的问题是,如果不能从main访问私有构造函数,那么编译器应该调用公共部分中的构造函数,这

  • 哪个是更被接受的做法:为多个(比如3-7)可以“开”或“关”的事物中的每一个创建一个布尔字段,或者创建一个包含或不包含3-7事物中的每一个的单个字符串数组字段? 示例: 已存储- vs. 已存储-