当前位置: 代码迷 >> 综合 >> java系统常量定义的几种方式
  详细解决方案

java系统常量定义的几种方式

热度:45   发布时间:2023-10-21 15:23:58.0

1、接口定义

public interface ConstantCode
{public final static String OK = "ok";
}

接口的成员变量只能是常量,默认修饰符 public static final

看似正好符合常量的使用规范,但是接口的意义是可以被实现,而实现一个只有常量的接口没有实际意义,所以这种方式不推荐使用。

2、final class

public final class ConstantCode
{private ConstantCode(){};public final static String OK = "ok";
}

类定义成final且定义一个private的构造方法,防止其被继承和其实例化

3、枚举

public enum ConstantCode {OK(200, "ok");Integer code;String name;// 构造方法ConstantCode(Integer code, String name) {this.code = code;this.name = name;}public static String getName(Integer code) {for (ConstantCode evenEnum : ConstantCode.values()) {if (evenEnum.getCode().equals(code)) {return evenEnum.getName();}}return null;}public Integer getCode() {return code;}public void setCode(Integer code) {this.code = code;}public String getName() {return name;}public void setName(String name) {this.name = name;}}
System.out.println(ConstantCode.getName(200));得到结果:
ok