Wie schreibt man einen Konstruktor enthält einen booleschen Wert?
Dies ist eine dumme Frage, aber es ist schon eine lange Zeit seit ich ' ve arbeitete mit java... Wie kann ich schreiben, dass meine Konstruktor mit booleschen Werten oder sollte ich schreiben Sie einfach ein default-Konstruktor? Ich arbeite mit C++ die meisten vor kurzem, und ich habe vergessen eine Menge syntax für java.
Dies ist, was ich habe, so weit:
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){
?
}
}
Ich kann nicht scheinen, etwas zu finden, wenn ich eine Suche... Wie kann ich die initialisieren jeder Wert in meinem Konstruktor? oder soll ich einfach haben
public Creature(){
startTerrain = DESERT;
flyingCreature = false;
magicCreature = false;
canCharge = false;
specialAbility = 0;
} ?
Ich habe auch von mehreren Klassen Erben von dieser, also ich bin mir nicht sicher, ob das einen Unterschied macht.
- Ich bin mir nicht sicher, warum das Problem zu booleans?
- Ich bin mir nicht sicher, wie Sie Sie schreiben, mein Konstruktor
- Ich würde jedem Feld, das Sie brauchen, nicht geben Sie einen Wert ein, und lassen Sie die IDE erzeugen, der rest, Konstruktoren, Getter und jede setter. Sie müssen nicht schreiben den code selbst.
- BTW Sie sind nicht mit
Boolean
überall, nurboolean
Du musst angemeldet sein, um einen Kommentar abzugeben.
Einen boolean parameter ist nur wie jeder andere Typ.
So, wie es sein würde, diese.
Wenn diese Parameter werden immer gleich am Anfang, dann legen Sie Sie auf einem Standard-Konstruktor, wie Sie sagte.
Da, Sie haben Klassen Erben von diesem, den Konstruktor aufrufen
super()
fordert die übergeordneten Konstruktor der Klasse. Wenn Sie es aufrufen ohne Parameter, wird der Basis-Konstruktor der Kreatur wird aufgerufen.Wenn Sie den Konstruktor verwenden, die Parameter hat, geht es so
und so weiter.
Wenn Sie den Konstruktor ohne Parameter (default-Konstruktor), dann müssen Sie die Klasse Felder, um einige Konstanten (wie du hast). So müssen Sie z.B.
und so weiter.
Den Einsatz von
this.
ist nicht obligatorisch, es sei denn, Sie haben einen parameter mit dem gleichen Namen, in dem Fall sollten Siethis.
sonst dein code für die Initialisierung haben keine Auswirkung auf die Klasse Feld.Werden Sie wahrscheinlich entsprechend wählte den primitiven Typ boolean in deinem Beispiel aber da Sie erwähnt "Boolean" mit dem Großbuchstaben "B", es ist ein Unterschied. Boolean-Variablen, die null-Werte zulassen im Gegensatz zu den primitiven "boolean" mit einem Kleinbuchstaben "b". Wenn Sie verwendet hatten, Booleans, können Sie einfach initialisieren dieser wie
Und Sie möglicherweise später benötigen, null Kontrollen, je nach situation.