java定义系统常量的三种方式(接口、常量类、枚举)

1、接口定义常量

public interface Constants{
    public String USER_NAME = "WPO1462";
    public String SECRET_ID = "wx_25sdl586sam02";
}

2、常量类

public final class Constans{
    public static final String USER_NAME = "WPO1462";
    public static final String SECRET_ID = "wx_25sdl586sam02";
}

3、枚举

public enum Constans{
    public enum reportStatus(){
        已报工,未报工;
    }
	
    public enum productType(){
        常规(0),返工(1),样品(2);
		
        private Integer value;
		
		productType(Integer value){
            this.value = value;
        }

        public Integer getValue() {
            return value;
        }

        public static String getNameByValue(Integer value){
            for (productType one : productType.values()) {
                if(value.equals(one.value)){
                    return one.name();
                }
            }
            return null;
        }
    }
	
    public enum equipmentType(){
        press(0,"压机"),mold(1,"模具"),kiln(2,"烧结窑");
    }
}
public static void main(String[] args) {
	System.out.println(EnumModel.productType.valueOf("样品").getValue());
	System.out.println(EnumModel.productType.getNameByValue(1));
}

4、对比

接口可以被继承,可以将内容深入到其实现类代码中。这样对于一个常量类接口来说显然是不合理,但是你确实无法规避这个问题。那么选用常量类的方式。以final字段修饰,防止其被继承。

总之,推荐使用枚举类,轻量化可采用常量类,不推荐接口方式。

你可能感兴趣的:(Java)