Enum-Funktionen
1. Verwenden Sie enum, um eine Aufzählungsklasse zu definieren, die standardmäßig die Klasse java.lang.Enum anstelle der Klasse Object erbt. Darunter implementiert die Klasse java.lang.Enum zwei Schnittstellen: java.lang.Serializable und java.lang.Comparable.
2. Der Konstruktor einer Aufzählungsklasse kann nur den privaten Zugriffsmodifikator verwenden. Wenn der Zugriffskontrollmodifikator seines Konstruktors weggelassen wird, wird standardmäßig die private Modifikation verwendet.
3. Alle Instanzen der Aufzählungsklasse müssen explizit in der Aufzählungsklasse aufgeführt sein, andernfalls kann diese Aufzählungsklasse niemals Instanzen generieren. Wenn diese Instanzen aufgelistet sind, fügt das System automatisch öffentliche statische endgültige Änderungen hinzu, ohne dass Programmierer sie explizit hinzufügen müssen.
},DO{
öffentlicher String toLocaleString(){
Rückkehr „Donnerstag“;
}
},FR{
öffentlicher String toLocaleString(){
Rückkehr „Freitag“;
}
},SAT{
öffentlicher String toLocaleString(){
Rückkehr „Samstag“;
}
},SONNE{
öffentlicher String toLocaleString(){
Rückkehr „Sonntag“;
}
};
öffentlicher abstrakter String toLocaleString();
}
int CompareTo-Methode
String name() gibt den Namen der Enumerationsinstanz zurück
int ordinal() gibt den Index des Aufzählungswerts in der Aufzählung zurück
String toString() gibt den Instanznamen der Aufzählung zurück, der häufiger verwendet wird als name
öffentlicher statischer WertOf()
}
private Lampe(String gegenüber,String als nächstes,boolean beleuchtet){
this.oposite = gegenüber;
this.next = next;
this.lighted = beleuchtet;
}
/*Ob die aktuelle Ampel grün ist*/
privater boolescher Wert beleuchtet;
/*Die entsprechende Richtung, in der das aktuelle Licht gleichzeitig grün ist*/
private Zeichenfolge gegenüber;
/*Das nächste Licht wird grün, wenn das aktuelle Licht rot wird*/
privater String next;
öffentlicher boolescher Wert isLighted(){
Rückkehr beleuchtet;
}
/**
* Wenn ein bestimmtes Licht grün wird, wird auch das Licht in der entsprechenden Richtung grün.
*/
öffentliches leeres Licht(){
this.lighted = true;
if(gegenüber != null){
Lamp.valueOf(oposite).light();
}
System.out.println(name() + „Die Lampe ist grün, es sollten insgesamt 6 Richtungen unten sein, in denen Sie vorbeifahrende Autos sehen können!“);
}
/**
* Wenn ein bestimmtes Licht rot wird, wird das Licht in der entsprechenden Richtung ebenfalls rot und das Licht in der nächsten Richtung wird grün
* @return Die nächste Ampel, die grün wird
*/
öffentliche Lampe blackOut(){
this.lighted = false;
if(gegenüber != null){
Lamp.valueOf(oposite).blackOut();
}
Lampe nextLamp= null;
if(next != null){
nextLamp = Lamp.valueOf(next);
System.out.println("Das grüne Licht wechselt von " + name() + "--------> zu " + next);
nextLamp.light();
}
return nextLamp;
}
}