我们不能 运行 枚举中的主要方法吗?

Can't we run main method inside enum?

我看过一个视频,其中 main() 可以 运行 与 enum。 我正在尝试做同样的事情,但它不起作用。

这是我的代码

public enum EnumMain {                             
   ABC, XYZ;                                       
   public static void main(String[] args) {        
     System.out.print("MIAN");                     
   }                                               
}

输出 (代码编译正常)
Error: Could not find or load main class EnumMain

我认为这与 Java 版本有关,可能在 Java 8 中,他们不允许 运行 main() 方法来自 enum 了。

PS 我正在从 windows 命令提示符编译和 运行ning 文件。

注意 如果我将 enum 更改为 class 那么它 运行 没问题(我没有任何类路径问题)

不,我在 Java 8 上有 运行 你的代码,它非常完美。它 运行s 给出输出 MIAN。我认为问题出在 classpath 或您的 IDE 上。您可以在清理项目后尝试。

您可以在枚举中 运行 main。

public enum TestEnumMain{
    val1, val2;
    public static void main(String[] args)
    {
        System.out.println("Hello");
    }
}

问题出在您的路径变量上。确保它们配置正确。请参阅 this thread 以正确设置路径变量。