12.3. 枚举类构造方法¶
12.3.1. 代码示例¶
WeekDays.java
package com.a51work.cn;
public enum weekday {
// 枚举常量列表
MONDAY("星期一", 0), TUESDAY("星期二", 1), WEDNESDAY("星期三", 2), THURSDAY("星期四", 3), FRIDAY("星期五", 4);
// 实例变量
private String name;
private int index;
// 静态变量
private static int staticVar = 100;
weekday(String name, int index) {
this.name = name;
this.index = index;
}
/**
* 构造方法,注意枚举类的中的构造方法只能是私有访问级别,构造方法可以
* 省略private关键字,但它仍然是私有的构造方法。这也说明了枚举类不允许在外部创建对象
**/
// 覆盖父类中的toString()方法
@Override
public String toString() {
// TODO 自动生成的方法存根
StringBuilder sb = new StringBuilder();
sb.append(name);
sb.append("-");
sb.append(index);
return sb.toString();
}
//实例方法
public String getInfo() {
// 调用父类中toString()方法
return super.toString();
}
// 静态方法
public static int getStaticVar() {
return staticVar;
}
}
HelloWorld3.java
package com.a51work.cn;
public class HelloWorld3 {
public static void main(String[] args) {
// day工作日变量
weekday day = weekday.FRIDAY;
// 打印day默认调用枚举toString()方法
System.out.println(day);
// 调用枚举实例方法
System.out.println(day.getInfo());
// 调用枚举静态方法
System.out.println(weekday.getStaticVar());
}
}
/*
星期五-4
FRIDAY
100
* */