So bin ich eine Aufgabe in meiner Aufgabe gegeben, die wie folgt lautet:initialisieren Parameter von Aufzählungstyp
ein Flugzeug mit einem PublicTransportation ist, dass zusätzlich hat den folgenden: Klassentyp (Aufzählungstyp, der sein kann: Hubschrauber, Airline, Glider oder Balloon) und Wartungstyp (Aufzählungstyp, der: wöchentlich, monatlich oder jährlich sein kann).
Wir haben nicht wirklich behandelt, was Enum ist, aber ich versuche, darüber zu lernen. Ich weiß, dass sie eine Liste von Konstanten (statisch und final) sind. Ich weiß einfach nicht, wie man Enum-Parameter in meiner Treiberklasse initialisiert.
public class Aircraft extends PublicTransportation
{
private enum ClassType {HELICOPTER, AIRLINE, GLIDER, BALLOON}
private enum MaintType {WEEKLY, MONTHLY, YEARLY}
private ClassType cType;
private MaintType mType;
public Aircraft()
{
super();
cType = null;
mType = null;
}
public Aircraft(double ticketPrice, int numOfStops, ClassType cType, MaintType mType)
{
super(ticketPrice, numOfStops);
this.cType = cType;
this.mType = mType;
}
public Aircraft(Aircraft anAircraft)
{
super(anAircraft.getTicketPrice(), anAircraft.getNumOfStops());
this.cType = anAircraft.cType;
this.mType = anAircraft.mType;
}
}
Und hier ist ein Stück meiner Treiberklasse:
package Driver;
import CityBus.CityBus;
import CityBus.Metro;
import CityBus.Tram;
import Ferry.Ferry;
import Aircraft.Aircraft;
import Aircraft.Aircraft;
import PublicTransportation.PublicTransportation;
public class Driver
{
public static void main(String[] args)
{
Aircraft ac1 = new Aircraft(1,2, GLIDER, Aircraft.GLIDER);
Wie initialisieren Sie einen Aufzählungstyp?
Dies ist nicht möglich, da die Enums in der Klasse Aircraft als privat deklariert sind. Nur Flugzeuge können auf sie zugreifen. Verschieben Sie sie außerhalb der Klasse in einer eigenen Java-Quelldatei, genau wie bei einer regulären Top-Level-Klasse, und verwenden Sie ClassType.HELICOPTER. –