常量接口
1.程序当中,频繁使用到多次的固定值,使用接口保存这个常量
2.程序当中,需要有直观的含义,可以使用接口常量
/*
* 程序当中,频繁使用到多次的固定值,使用接口保存这个常量
* 程序中需要有直观含义的常量
*/
public interface Changliang {
// 常量接口:1.项目通用报错码 2.项目通用的报错码
// 接口中的属性为公开静态属性,在标识名书写时大写,多个字母用“_”连接
public static final int RED = 1;
public static final int GREEN = 2;
public static final int YELLOW = 3;
// 错误码
int USER_NOT_FIND = 1000;
int PASS_WORNG = 1001;
// 状态码
String GODING_MAN = "在努力学习《程序员的自我修养》";
int TICKE_STATUS_BAUCK = 9999; // 车票状态等
}
枚举
- 枚举可以实现一个或多个接口,使用enum定义的枚举类默认继承java.lang.Enum类,而不是Object类,因此枚举不能显示的继承其他父类。其中java.lang.Enum类实现了java.lang.Serializable和java.lang.Comparable两个接口。
- 使用enum定义、非抽象的枚举类默认会使用final修饰,因此枚举类不能派生子类
- 枚举类的构造器只能使用private访问控制符,如果省略了构造器的访问控制符,则默认使用private修饰;如果强制指定访问控制符,则只能指定private修饰符。
- 枚举类的所有实例必须在枚举类的第一行显式列出,否则这个枚举类永远都不能产生实例。列出这些实例时,系统会自动添加public static final 修饰,无须程序员显式添加。
- 枚举类默认提供了一个values()方法,该方法可以很方便地遍历所有的枚举值
// 定义枚举,使用enum关键字
public enum Week {
// 枚举只能在自己的首行代码实例化自己的对象
// 枚举的实例对象,默认会加上 public static final修饰
// 以下每一个都是枚举的一个实例对象
MONDAY,TUESDAY,WENDESDAY,THURSDAY,FRIDAY,SATURADAY,SUNDAY;
// 枚举的构造方法是私有的,即使省略private关键字,也是默认私有的
Week() {
}
// 枚举可以有属性和方法
int a;
// thsi.name()方法返回此枚举常量的名称
public void test() {
System.out.println("我是枚举中的方法" + this.name());
}
}
public class DemoEnum {
public static void main(String[] args) {
// 可以声明枚举类型
Week w;
// 只能获取枚举中已有的实例,因为构造方法是私有的,外部无法调用
w = Week.FRIDAY;
// 调用枚举中的方法
w.test();
switch (w) {
case MONDAY:
System.out.println("星期一");
break;
case TUESDAY:
System.out.println("星期二");
break;
case WENDESDAY:
System.out.println("星期三");
break;
case THURSDAY:
System.out.println("星期四");
break;
case FRIDAY:
System.out.println("星期五");
break;
case SATURADAY:
System.out.println("星期六");
break;
default:
System.out.println("星期天");
}
}
}
关于常量接口和枚举的初步学习总结。