一、常量接口
- 程序当中,频繁使用到多次的固定值,使用接口保存这个常量.
2.程序当中,需要有直观的含义,可以使用接口常量. 红绿灯示例
interface ITrafficLight{
public static final int RED = 1;
public static final int GREEN = 2;
public static final int YELLOW = 3;
}
public static void main(String[] args){
int currentLight = x;
if(currentLight == ITrafficLight.RED){
currentLight = ITrafficLight.GREEN;
}else if(currentLight == ITrafficLight.YELLOW){
currentLight = ITrafficLight.RED;
}else{
currentLight = ITrafficLight.YELLOW;
}
}
3.整个项目通用的错误码;我们除了程序里面用来进行判断错误,直观的知道这个错误当前是什么意思.
package com.qianfeng.ls.am.secend;
//常量接口
public interface IErroCode {
//10000-20000之间的所有错误码就表示用户方面的错误问题;
int USER_NOT_FIND = 10000; //这个错误码就代表没有当前用户;
//20000-30000之间的错误码,表示商品之类的错误问题;
int GOODS_NOT_FIND = 20001; //没有找到这个商品的错误码;
//30000-40000 系统异常等等内容
}
二、枚举(规范取值范围) 只能自己定义自己有多少个对象;
1简介:
(1)枚举类可以实现一个或多个接口,使用enum定义的枚举类默认继承了java.lang.Enum类,而不是默认继承Object类,因此枚举类不能显示继承其他父类**。其中java.lang.Enum类实现了java.lang.Serializable和java.lang.Comparable两个接口。
(2)使用enum定义、非抽象的枚举类默认会使用final修饰,因此枚举类不能派生子类。
(3)枚举类的构造器只能使用private访问控制符,如果省略了构造器的访问控制符,则默认使用private修饰;如果强制指定访问控制符,则只能指定private修饰符。
(4)枚举类的所有实例必须在枚举类的第一行显式列出,否则这个枚举类永远都不能产生实例。列出这些实例时,系统会自动添加public static final修饰,无须程序员显式添加。
(5)枚举类默认提供了一个values()方法,该方法可以很方便地遍历所有的枚举值。
三、 宏观:接口[USB例子]
1.接口的实现者与使用者
实现者:谁实现了接口的具体方法定义;
使用者:调用写好的实现着的方法;
2. 例子
(1)USB接口制定服务方法
(2) 电脑(main)方法调用这个服务
(3)不同的厂商(风扇Fan,U盘UDisk,台灯Lamp)实现这个接口,提供不同的服务;
(4)电脑对象(开机),初始化usb对象,然后调用服务;