我们不能在枚举中运行main方法吗?

时间:2016-06-05 08:47:40

标签: java enums java-8 enumeration

我看过一个视频,其中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命令提示符编译并运行该文件。

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

2 个答案:

答案 0 :(得分:1)

您可以在枚举中运行main。

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

问题在于你的路径变量。确保它们配置正确。请参考this thread以设置路径变量。

答案 1 :(得分:0)

不,我已经在Java 8上运行了您的代码,这是完美的。它运行以提供输出MIAN。我认为问题出在classpathIDE。您可以在清理项目后尝试。