Перечисления (enum) 2

 

В Java, в отличие от многих других языков программирования, в перечисления можно добавлять методы, переменные и другие члены. Этим перечисления очень напоминают на классы.

 

Вот пример объявления такого перечисления:

public enum Suits {

Spades,

Clubs,

Diamonds,

Hearts;

static public boolean isRed(Suits suit){

if(suit == Suits.Diamonds || suit == Suits.Hearts){

return true;

}

else{

return false;

}

}

}

 

Как вы видите тут мы, кроме собственно объявления элементов перечисления (названия карточных мастей), добавили в перечисление статический метод, выясняющий, красная данная масть или нет.

 

А вот так можно наше перечисление использовать:

public class Test {

public static void main(String[] args){

Suits suit = Suits.Diamonds;

if(Suits.isRed(suit)){

System.out.print("Suit is red.");

}

else{

System.out.print("Suit is black.");

}

}

}

 

Указанный фрагмент выведен, разумеется, текст "Suit is red.".