Собственно, вопрос, как это выглядит? Для примера возьмем: public enum Transport{ SHOTGUN, RIFLE, MINIGUN } И вот для каждого перечисления нужно задать еще один enum для конкретной модели. Как это будет выглядеть и как к этому обращаться? изначально мне кажется что должна присутствовать строка public Transport(Enum type){this.type = type}; Но ведь для каждого перечисления будет свое перечисление. И перечисление нельзя наследовать. Подскажите.
Ответ
Определите интерфейс, который должны будут реализовывать ваши вложенные перечисления.
public enum Transport {
SHOTGUN(Type1.T11),
RIFLE(Type2.T21),
MINIGUN(Type3.T31);
private Weapon weapon;
Transport(Weapon weapon) {
this.weapon = weapon;
}
public interface Weapon {};
public enum Type1 implements Weapon {
T11, T12;
}
public enum Type2 implements Weapon {
T21, T22;
}
public enum Type3 implements Weapon {
T31, T32;
}
}
Комментариев нет:
Отправить комментарий