enum(列挙型)でinterfaceを使う
enum(列挙型)でinterfaceを使うと応用範囲が広がる。
複数のenumにinterfaceで定義したメソッドを実装することで
処理を簡略化する(たぶん簡略化されてる)サンプル。
public class EnumExec { public interface Fruit { public String getLang(); } public enum FruitEn implements Fruit { Banana("Banana") , Apple("Apple") , Lemon("Lemon") , Orange("Orange") , Peach("Peach"); // メンバ変数の定義 private String name; // コンストラクタの実装 private FruitEn (String name) { this.name = name; } public String getLang() { return name + "(en)"; } } public enum FruitJa implements Fruit { Banana("バナナ") , Apple("りんご") , Lemon("レモン") , Orange("オレンジ") , Peach("ピーチ"); // メンバ変数の定義 private String name; // コンストラクタの実装 private FruitJa (String name) { this.name = name; } public String getLang() { return name + "(ja)"; } } public void execute(Fruit[] fruits) { for (Fruit fruit : fruits ) { System.out.println(fruit.getLang()); } } /** * 説明文。 * @param args */ @SuppressWarnings("unchecked") public static void main(String[] args) { EnumExec lang = new EnumExec(); lang.execute(FruitJa.values()); lang.execute(FruitEn.values()); } }