Java 枚举类声明并将其用于另一个类

Java 枚举类声明并将其用于另一个类,java,enums,Java,Enums,我有两个类FishType和Fish FishType是标准鱼类分类的枚举,包括以下成员: { Shark, Ray, Eel, } Fish类为: Name : String Classificiation : FishType 所以基本上,我想为'FishType'枚举类的“Fish”声明属性 如何在java中实现它?您可以这样做 class Fish{ enum FishType{ SHARK, RAY, EEL

我有两个类
FishType
Fish

FishType
是标准鱼类分类的枚举,包括以下成员:

{ 
 Shark,
 Ray,
 Eel,
}
Fish
类为:

Name : String
Classificiation : FishType
所以基本上,我想为'FishType'枚举类的“Fish”声明属性


如何在java中实现它?

您可以这样做

class Fish{

    enum FishType{
        SHARK,
        RAY,
        EEL
    }

    FishType fishType = FishType.SHARK;
}

您还可以像标记任何其他类一样标记
enum
public
,以提高可见性。enum是一个特殊的类,它为enum表示的每个命名常量都有预定义的实例。Fish是一个类,FishType应该是enum。请参见-1:
FishType
未定义(因为您将其命名为
EntityType
),如果没有构造函数,则无法为enum值使用其他字符串名称。@IngoBürk,如果没有构造函数,就不能为枚举值使用其他字符串名称,这是真的吗?我相信最近的java版本支持这种类型的代码。这些天我经常使用它。在1.7.0_09中它不起作用。如果您认为它在任何版本中都有效,请澄清该版本(也可以试着编译您自己的代码,看看它是否有效——我不这么认为)。
public class Fish {
    private FishType type;
    private String name;

    // ... some methods.
}
public class Fish {
    enum FishType /* Edited */ {
        Shark("Shark"),
        Ray("Ray"),
        Eel("Eel")
    }

    private String name;
    private FishType classification;
}