public enum Test {
One("one"){//用的有参数的构造方法
public Test nextnumber(){
testOk("one----");
return this;
}
},Two(){//用的无参的构造方法
public Test nextnumber(){
testOk("two----");
return this;
}
},Three(){
public Test nextnumber(){
testOk("three----");
return this;
}
},Four(){
public Test nextnumber(){
testOk("four----");
return this;
}
},Five(){//内部类
public Test nextnumber(){//复写父类的abstract 方法
testOk("five----");
return this;
}
};
public abstract Test nextnumber();//定义一个抽象的方法必须让子类重写
public void testOk(String a){ //看做是一个类--类内部的一个方法 让内部类调用
System.out.println(a);
}
private Test(){}//无参构造函数
private String str;//成员变量
private Test(String strs){//有参构造方法
this.str=strs;
}
@Override
public String toString() {//复写toString方法 因为打印的时候是对象
//return str.toString();
return super.toString();
};
}
public static void main(String[] args) {
Test t= Test.Five;
System.out.println(t.ordinal());
System.out.println(t.Three);
}