枚舉由于靜态final,因為前者比後者更安全。如下代碼:
enum ShapeType{
RECTANGLE,TRIANGLE,OVAL
}
public class ExpTst {
public ShapeType type;
public static void main(String[] args) {
ExpTst expTst=new ExpTst();
System.out.println(expTst.type);
expTst.type=ShapeType.RECTANGLE;
System.out.println(expTst.type);
}
}
運作輸出:
null
class ShapeType{
public static final int IVDIVDUAL=1;
}
public class ExpTst {
public int type;
public static void main(String[] args) {
ExpTst expTst=new ExpTst();
System.out.println(expTst.type);
//正常情況下
//expTst.type=ShapeType.IVDIVDUAL;
expTst.type=5;
System.out.println(expTst.type);
}
}