O código a seguir toma um semáforo como exemplo:
public static void main(String[] args) {
Semáforo = Semáforo.RED;
System.out.println(light.time);
System.out.println(light.nextLigth());
// O método ordinal() retorna a ordem em que a enumeração é declarada
System.out.println(light.ordinal());
// O métodovalues() obtém um array de todos os tipos de enumeração
for(Semáforo1:light.values()){
System.out.println(light1.name());
}
// O método valueOf() pode converter a string no objeto de enumeração correspondente
System.out.println(light.RED ==light.valueOf("RED"));
}
enum público Semáforo {
VERDE(30) {
@Substituir
public Trafficlight nextLigth() {
retornar VERMELHO;
}
},
VERMELHO(30) {
@Substituir
public Trafficlight nextLigth() {
retorne AMARELO;
}
},
AMARELO(10) {
@Substituir
public Trafficlight nextLigth() {
retorne VERDE;
}
};
público abstrato Semáforo nextLigth();
tempo interno privado;
//Construtor
semáforo privado(int time) {
este.tempo = hora;
}
public int getTime(){
horário de retorno;
}
}
}
No código, light é apenas equivalente a uma instância da classe pai. Você pode usá-lo para obter as subclasses de cada variável de membro e chamar vários métodos.