Java 枚举是一个特殊的类,一般内容为一组常量,或者是唯一的对象(单例对象)。
常用方法有:
-
- values() 获取该枚举类中的所有常量,到一个数组中。
- ordinal() 获取该常量的索引。
- valueOf(String name) 通过name获取枚举常量。
内容为常量
表示一组常量,常量之间用,隔开。它们有默认索引,通过 ordinal() 方法获得。
public enum Antts{ AAA,BBB,CCC; } class Test{ public static void main(String[] args) { System.out.println(Antts.AAA.ordinal()); System.out.println(Antts.BBB.ordinal()); System.out.println(Antts.CCC.ordinal()); } }
运行结果:
内容为对象
都是单例对象,对象的属性方法都在枚举类中构造。
public enum Antts{ AAA,BBB,CCC;//三个对象
int id; String name; public void setId(int id) { this.id = id; } public void setName(String name) { this.name = name; } } class Test{ public static void main(String[] args) { Antts.AAA.setId(21); System.out.println(Antts.AAA+" id:"+Antts.AAA.id+" name:"+Antts.AAA.name); Antts.BBB.setName("二狗子"); System.out.println(Antts.BBB+" id:"+Antts.BBB.id+" name:"+Antts.BBB.name); } }
运行结果:
属性、方法
1、构造器:默认私有,且只能私有。
2、可以有抽象方法,对象必须实现抽象方法。
示例代码:
public enum LeaningEnum { //枚举里面的实例就是一个个对象,不过它们的属性都在外面。 ONE_INSTANCE{ @Override void sayHello() { System.out.println("ONE:Hello!"); } }, TOW_INSTANCE(2,"三蹦子"){ @Override void sayHello() { System.out.println("TOW:Hello!"); } }; int id; String name; //构造器默认private,也只能是private。 LeaningEnum(int id, String name) { this.id = id; this.name = name; } LeaningEnum() { } //抽象方法:类的每个实例都必须实现它。 abstract void sayHello(); //具体方法 void sayLove(){ System.out.println("love love love."); } public static void main(String[] args) { //返回枚举类中所有的常量(单例对象)。 LeaningEnum[] enums=LeaningEnum.values(); for(LeaningEnum temp:enums){ temp.sayHello(); temp.sayLove(); } //获取指定字符串值的枚举常量。 LeaningEnum temp = valueOf("TOW_INSTANCE"); //获取索引。 System.out.println(temp+"索引为:"+temp.ordinal()); } }
运行结果:
标签:Java,name,void,System,Antts,枚举,使用,println,id From: https://www.cnblogs.com/lurenjia-bky/p/16916259.html