我在Java中注意到了一种模式,我想知道它是否有一个名称,所以我可以查找其他语言的实现。
我已经看到用作方法参数的类的静态final字段。这会将方法的调用者限制为该参数的公共值集。例如:
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以来已经很长时间了)
答案 0 :(得分:6)
虽然您的示例有误,但我认为您正在寻找enum
答案 1 :(得分:1)
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;
}
}
答案 2 :(得分:0)
你应该定义枚举
enum Month
{
Jan,Feb,Mar,Apr;
}
class Sample
{
public static void main(String arg[])
{
Month m=Month.Mar;
System.out.println(m); // Mar
}
}