对于枚举类型,除了无法继承它以外,基本可以将它看作一个普通的类。
package www.com.cat.chapter01;
import java.util.Arrays;
public enum Hero {
// 实例必须写在方法定义之前
QIMING("九龙之主"), LULA("升格者"), HUANRI("慈悲者");
private String description;
// 构造器的访问权限必须是包级或private
Hero(String description) {
this.description = description;
}
public String getDescription() {
return description;
}
public static void main(String[] args) {
Arrays.stream(Hero.values()).forEach(hero -> System.out.println(hero + ":" + hero.getDescription()));
}
}
输出 :
QIMING:九龙之主
LULA:升格者
HUANRI:慈悲者
构造方法只能用于创建你在枚举定义中声明的枚举实例;在枚举定义完成后,编译器不会允许你用它来创建任何新的类型。
重载枚举类型中的方法
可以重载枚举类的toString
方法
package www.com.cat.chapter01;
import java.util.Arrays;
public enum Hero {
// 实例必须写在方法定义之前
QIMING("九龙之主"), LULA("升格者"), HUANRI("慈悲者");
private String description;
// 构造器的访问权限必须是包级或private
Hero(String description) {
this.description = description;
}
@Override
public String toString() {
return name() + ":" + description;
}
public static void main(String[] args) {
Arrays.stream(values()).forEach(System.out::println);
}
}
输出 :
QIMING:九龙之主
LULA:升格者
HUANRI:慈悲者