gpt4 book ai didi

Java - 不知道如何调用公共(public)枚举类

转载 作者:行者123 更新时间:2023-12-01 17:09:25 25 4
gpt4 key购买 nike

我对 Java 有点陌生......

这是我想要实现的 Java 源代码。

首先我定义一个公共(public)枚举类,如下所示:

public enum Day {
SUNDAY, MONDAY, TUESDAY, WEDNESDAY,
THURSDAY, FRIDAY, SATURDAY
}

现在我创建一个这样的类:

import java.time.*;

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();
}
}

当我编译 EnumTest 类时,我收到此错误:

C:\java>javac EnumTest.java
EnumTest.java:4: error: class Day is public, should be declared in a file named
Day.java
public enum Day {
^
1 error

你能帮我吗?谢谢梅尔

最佳答案

您的代码看起来不错,出现错误是因为您在同一文件下保存两个公共(public)类(枚举也是类)。

创建两个单独的文件并将枚举写入其中,并将其另存为Day.java。以及带有 class EnumTest 的其他文件并将其另存为 EnumTest.java不要忘记将它们放在同一个包下。否则,您将必须使用 import packagename.Day

导入枚举

或者

更简单的方法,从 Enum 中删除 public

     enum Day {
SUNDAY, MONDAY, TUESDAY, WEDNESDAY,
THURSDAY, FRIDAY, SATURDAY
}

现在你的代码将编译

关于Java - 不知道如何调用公共(public)枚举类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24323429/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com