Использование статических полей в качестве параметров конфигурации для методов - PullRequest
0 голосов
/ 27 июня 2011

В Java я заметил шаблон, и мне было интересно, есть ли для него имя, чтобы я мог искать реализации на других языках.

Я видел статические конечные поля класса, используемые в качестве аргументов метода. Это ограничивает вызывающего метода открытым набором значений для этого аргумента. Например:

public class Calendar {

    public static final int JANUARY = 1;
    public static final int FEBRUARY = 1;
    //and so on

    public void setMonth(int month){
       //set month
    }
}

Calendar c = new Calendar();
c.setMonth(Calendar.JANUARY);

Есть ли название для этого шаблона? Спасибо ...

(пример, отредактированный для рабочего кода, прошло много времени с тех пор, как я написал Java)

Ответы [ 3 ]

6 голосов
/ 27 июня 2011

Хотя ваш пример неверен, я думаю, что вы ищете enum

1 голос
/ 27 июня 2011
public class Calendar {

    public enum Month {
        JANUARY, FEBRUARY, MARCH, APRIL, MAY, JUNE, JULY, SEPTEMBER, OCTOBER, NOVEMBER, DECEMBER
    }

    private Month month;

    public void setMonth(Month month){
       this.month = month;
    }
}
0 голосов
/ 27 июня 2011

Вы должны определить enum

enum Month
{
Jan,Feb,Mar,Apr;
}
class Sample
{
public static void main(String arg[])
{
Month m=Month.Mar;
System.out.println(m); // Mar
}
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...