Funciones de enumeración
1. Utilice enum para definir una clase de enumeración que herede la clase java.lang.Enum de forma predeterminada en lugar de la clase Object. Entre ellos, la clase java.lang.Enum implementa dos interfaces: java.lang.Serializable y java.lang.Comparable.
2. El constructor de una clase de enumeración solo puede usar el modificador de acceso privado. Si se omite el modificador de control de acceso de su constructor, se usa la modificación privada de manera predeterminada;
3. Todas las instancias de la clase de enumeración deben enumerarse explícitamente en la clase de enumeración; de lo contrario, esta clase de enumeración nunca podrá generar instancias. Cuando se enumeran estas instancias, el sistema agrega automáticamente modificaciones finales estáticas públicas sin la necesidad de que los programadores las agreguen explícitamente.
},JUE{
Cadena pública toLocaleString(){
devolver "jueves";
}
},VIE{
cadena pública toLocaleString(){
regresar "viernes";
}
},SE SENTÓ{
cadena pública toLocaleString(){
devolver "sábado";
}
},SOL{
cadena pública toLocaleString(){
devolver "domingo";
}
};
Cadena abstracta pública toLocaleString();
}
método int comparar con
String name() devuelve el nombre de la instancia de enumeración
int ordinal() devuelve el índice del valor de enumeración en la enumeración
String toString() devuelve el nombre de instancia de la enumeración que se usa más comúnmente que el nombre
valor estático público de ()
}
Lámpara privada (cadena opuesta, cadena siguiente, booleana iluminada) {
this.opuesto = opuesto;
this.siguiente = siguiente;
this.lighted = iluminado;
}
/*Si la luz actual es verde*/
booleano privado iluminado;
/*La dirección correspondiente en la que la luz actual es verde al mismo tiempo*/
cadena privada enfrente;
/*La siguiente luz se pondrá verde cuando la luz actual se pondrá roja*/
cadena privada siguiente;
público booleano está iluminado(){
retorno iluminado;
}
/**
* Cuando una determinada luz se pone verde, la luz en su dirección correspondiente también se pone verde.
*/
luz pública vacía(){
this.lighted = verdadero;
si (opuesto! = nulo) {
Lámpara.valueOf(opuesto).light();
}
System.out.println(name() + "La lámpara está verde, ¡debe haber un total de 6 direcciones debajo donde puedas ver los autos que pasan!");
}
/**
* Cuando una determinada luz se vuelve roja, la luz en la dirección correspondiente también se vuelve roja y la luz en la siguiente dirección se vuelve verde
* @return La siguiente luz se pone verde
*/
apagón público de la lámpara(){
this.lighted = falso;
si (opuesto! = nulo) {
Lamp.valueOf(opuesto).blackOut();
}
Lámpara nextLamp= null;
si (siguiente! = nulo) {
nextLamp = Lamp.valueOf(siguiente);
System.out.println("La luz verde cambia de " + nombre() + "--------> a " + siguiente);
nextLamp.light();
}
volver siguienteLámpara;
}
}