Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/338.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 编译器错误";找不到符号-类枚举“名称”;_Java_Enums - Fatal编程技术网

Java 编译器错误";找不到符号-类枚举“名称”;

Java 编译器错误";找不到符号-类枚举“名称”;,java,enums,Java,Enums,我已经定义了一个枚举。当我尝试写作时: private ENUM_NAME variableName; 作为类的实例变量,编译器告诉我: cannot find symbol - class ENUM_NAME 这让我无法继续 我正在使用BlueJ IDE,如果这很重要的话。 所有文件都包含在一个软件包中,并且位于我的计算机上的同一文件夹中。 我从另一个类(我的工作类的测试驱动程序)中的枚举开始,在我的工作类中得到了声明的错误。然后我尝试将枚举设置为自己的类,但我得到了相同的错误 测试驾驶员

我已经定义了一个枚举。当我尝试写作时:

private ENUM_NAME variableName;
作为类的实例变量,编译器告诉我:

cannot find symbol - class ENUM_NAME
这让我无法继续

我正在使用BlueJ IDE,如果这很重要的话。 所有文件都包含在一个软件包中,并且位于我的计算机上的同一文件夹中。 我从另一个类(我的工作类的测试驱动程序)中的枚举开始,在我的工作类中得到了声明的错误。然后我尝试将枚举设置为自己的类,但我得到了相同的错误

测试驾驶员等级:

public class BicycleMainClass
{
    enum BICYCLE_TYPE_ENUM {STANDARD, RACER, MOUNTAIN, BMX};
    //main method below
}
“工人”阶层:


我希望它编译时不会出错,因为枚举是一种有效的变量类型。我不明白的是什么?

问题是您已将枚举类型声明为
BicycleMainClass
的类型,因此在引用它时需要包含外部类型:

class BicycleClass
{
    private BicycleMainClass.BICYCLE_TYPE_ENUM bicycleType;
}
另一种解决方案是将枚举类型声明为:

然后您可以直接参考它:

private BICYCLE_TYPE_ENUM bicycleType;

您需要为BICYCLE\u TYPE\u ENUM添加导入语句。
请确保在添加导入语句时使用正确的包名。

请尝试使用静态导入 对于嵌套枚举

试试这个private BicycleMainClass.BICYCLE\u TYPE\u ENUM bicycleType

希望这会有帮助

public enum BICYCLE_TYPE_ENUM {
    STANDARD, RACER, MOUNTAIN, BMX;
}
private BICYCLE_TYPE_ENUM bicycleType;