2 回答
TA贡献1936条经验 获得超6个赞
Java 枚举允许使用构造函数将数据关联到枚举:
class Skill {
...
}
public enum SkillType {
Basic(new Skill(...)),
SpeedBuff(new Skill(...)),
Leap(new Skill(...)),
...
private final Skill skill;
public SkillType(Skill skill) {
this.skill = skill;
}
public Skill getSkill() {
return skill;
}
}
有关更多信息,请查看官方枚举文档中的“Planet”示例。
TA贡献1816条经验 获得超4个赞
正如@Alex 提到的,您可以使用 enum 构造函数,但Class如果您不想创建实例,则可以链接类型而不是创建用于链接的实例:
public enum SkillType {
Basic(Basic.class),
SpeedBuff(SpeedBuff.class),
Leap(Leap.class),
...
private final Class skillClass;
public skillClass(Class skillClass) {
this.skillClass = skillClass;
}
public Class getSkillClass() {
return skillClass;
}
}
然后,可以使用反射技术来获取静态字段的信息,说明这里。
添加回答
举报