次のコードは信号機を例にしています。
public static void main(String[] args) {
信号灯 = Trafficlight.RED;
System.out.println(light.time);
System.out.println(light.nextLigth());
// ordinal() メソッドは列挙型が宣言された順序を返します。
System.out.println(light.ordinal());
//values() メソッドはすべての列挙型の配列を取得します
for(Trafficlight light1:light.values()){
System.out.println(light1.name());
}
// valueOf() メソッドは文字列を対応する列挙オブジェクトに変換できます
System.out.println(light.RED ==light.valueOf("RED"));
}
public enum 信号機 {
グリーン(30) {
@オーバーライド
public Trafficlight nextLigth() {
REDを返します。
}
}、
レッド(30) {
@オーバーライド
public Trafficlight nextLigth() {
黄色を返します。
}
}、
イエロー(10) {
@オーバーライド
public Trafficlight nextLigth() {
緑色を返します。
}
};
public abstract Trafficlight nextLigth();
プライベート int 時間。
//コンストラクタ
private Trafficlight(int time) {
this.time = 時間;
}
public int getTime(){
戻り時間。
}
}
}
コードでは、light は親クラスのインスタンスに相当します。これを使用して各メンバー変数のサブクラスを取得し、valueOf(String) メソッドを呼び出して文字列を列挙に変換できます。