[color=red][b]//★只是调了Month(int i)方法, 排行根本就没有变化,[/b][/color]
package com.ncs;
public class EnumDemo {
public enum Month{
//不一定对的
JAN,FEB(4),MAR,APR,MAY,JUN,JUL,AUG,SEP,OCT,NOV,DEC;
//最后最好写 ';' 如果后面有代码 ,一定要';'
//如果没有 可以 省略
//如果要写构造 方法,写在JAN,FEB,MAR,AP..这些的后面
//和自己用 JAVA 类 实现的 一样,只可以让你用 private
private Month(){System.out.println("----Month()------");}
private Month(int i){System.out.println("----------Month(int i)-----------");}
//运行时 可以看见 输出 很多----Month()------
//可以知道 JAN,FEB,MAR,APR,MAY,JUN,JUL,AUG,SEP,OCT,NOV,DEC 都是静态变量
//类一到 JVM,静态的东西都会 执行了
//如何指定使用 Month(int i) 呢???
//FEB(4)
//★只是调了Month(int i)方法, 排行根本就没有变化,
}
public static void main(String[] args) {
Month month = Month.SEP;
System.out.println(month); //JDK给实现了toString方法
System.out.println(month.name()); //和上面一样的
System.out.println(month.ordinal());// 排行老几 int 类型 0 开始
System.out.println(month.getClass().getName());
//看看有上面静态方法
System.out.println(Month.valueOf("NOV"));//WEB APP 会用到的
System.out.println(Month.values()); //可以返回一个数组,不可以直接遍历一个枚举类,
//一定要先 返回 一个数组再遍历
//看看数组的长度
System.out.println(Month.values().length);
System.out.println(Month.FEB.ordinal());
}
}