Google 今天不太友好,我正在研究一些我过去没有使用过的 OOP 技术。
基本上,我注意到一些库具有带有预设选择的变量,例如new Website(Websites.STACKOVERFLOW)
。当你有这样明显不可变的值时,这叫什么?如果我想使用 Colours.RED
和 Colours.GREEN
创建自己的一个怎么办?
我希望你能告诉我这叫什么,以便我继续我的研究!谢谢。
编辑:我不会将其标记为重复,因为我不知道如何准确描述我正在寻找的内容 - 我认为其他人很可能有类似的困难并且可能会发现这很有用。如果我错了,那也没关系。
最佳答案
它们被称为枚举。详细信息可以查看here
它们定义为:
public enum Day {
SUNDAY, MONDAY, TUESDAY, WEDNESDAY,
THURSDAY, FRIDAY, SATURDAY
}
并用作:
public class EnumTest {
Day day;
public EnumTest(Day day) {
this.day = day;
}
public void tellItLikeItIs() {
switch (day) {
case MONDAY:
System.out.println("Mondays are bad.");
break;
case FRIDAY:
System.out.println("Fridays are better.");
break;
case SATURDAY: case SUNDAY:
System.out.println("Weekends are best.");
break;
default:
System.out.println("Midweek days are so-so.");
break;
}
}
public static void main(String[] args) {
EnumTest firstDay = new EnumTest(Day.MONDAY);
firstDay.tellItLikeItIs();
EnumTest thirdDay = new EnumTest(Day.WEDNESDAY);
thirdDay.tellItLikeItIs();
EnumTest fifthDay = new EnumTest(Day.FRIDAY);
fifthDay.tellItLikeItIs();
EnumTest sixthDay = new EnumTest(Day.SATURDAY);
sixthDay.tellItLikeItIs();
EnumTest seventhDay = new EnumTest(Day.SUNDAY);
seventhDay.tellItLikeItIs();
}
}
输出将是:
Mondays are bad.
Midweek days are so-so.
Fridays are better.
Weekends are best.
Weekends are best.
关于java - 这个东西在Java中叫什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30936858/