簡體   English   中英

使用枚舉時在Java中找不到類錯誤

[英]Class not found error in Java when using an enum

我有以下代碼:

enum CarEnum {
   BMW("BMW"), TOYOTA("Toyota"), FORD("Ford");
   String name;
   CarEnum(String s) {
      name = s;
   }
}
class Cars {
   static CarEnum a;
   public static void main(String[] args) {
      System.out.println(a.BMW.name + " " + a.FORD.name);
   }
}

在名為Cars.java的文件中

當我嘗試運行此命令時,出現以下錯誤:

java.lang.NoClassDefFoundError: Car
Caused by: java.lang.ClassNotFoundException: Car
    at java.net.URLClassLoader$1.run(Unknown Source)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.net.URLClassLoader.findClass(Unknown Source)
    at java.lang.ClassLoader.loadClass(Unknown Source)
    at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
    at java.lang.ClassLoader.loadClass(Unknown Source)
Exception in thread "main" 

為什么說找不到車類?

1 /您的代碼有效,我立即將其復制/粘貼

2 /您在Exception中提到了Car類,但是代碼中沒有Car

3 /您確定要啟動一流的主方法嗎?

嘗試這樣:

public class Cars {
   enum CarEnum {
       BMW("BMW"), TOYOTA("Toyota"), FORD("Ford");
       String name;
       CarEnum(String s) {
          name = s;
       }
   }
   static CarEnum a = CarEnum.BMW;
   public static void main(String[] args) {
      //you never initialized your a so you can print
      System.out.println(a.name);
      //or to check all your Enums Names
      System.out.println(CarEnum.BMW.name + " " + CarEnum.Ford.name);
   }
}

唯一的問題是,運行代碼后,您給了java Car而不是java Cars命令。

請重新檢查文件名。 因為錯誤引用代碼中不可用的Car 嘗試將文件重命名為Cars.java

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM