hello 第三天啦
今天也是元氣滿滿的一天呢!!!
今天學習了枚舉和常量接口還有加強了對昨天接口的認知!
常量接口
程序當中,需要有直觀的含義,可以使用接口常量. 紅綠燈示例;
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;
}
}
整個項目通用的錯誤碼;我們除了程序裏面用來進行判斷錯誤,直觀的知道這個錯誤當前是什麼意思.
//常量接口
public interface IErroCode {
//10000-20000之間的所有錯誤碼就表示用戶方面的錯誤問題;
int USER_NOT_FIND = 10000; //這個錯誤碼就代表當前用戶沒有找到;
int PASS_WORNG = 10001; //就代表密碼錯誤;
int USER_EXCEPTION = 10002; //用戶狀態異常
//20000-30000之間的錯誤碼,表示商品之類的錯誤問題;
int GOODS_NOT_FIND = 20001; //沒有找到這個商品的錯誤碼;
//30000-40000 系統異常等等內容
}
還有整個項目通用的狀態碼
public interface IStatusCode {
//描述我們系統某些部件的狀態的代碼;
String CODING_MAN = "正在寫代碼...";
int TICKET_STATUS_BAUCK = 88888;//車票狀態 88888就代表是退票了
}
枚舉
枚舉類可以實現一個或者多個接口,使用enum定義的枚舉類
繼承了java.lang.Enum類而不是繼承Object類 不能顯示繼承其他父類
其中java.lang.Enum類實現了java.lang.Serializable和java.lang.Comparable兩個接口。
使用enum定義、非抽象的枚舉類默認會使用final修飾,因此枚舉類不能派生子類。
枚舉類的構造器只能使用private訪問控制符,如果省略了構造器的訪問控制符,則默認使用private修飾;如果強制指定訪問控制符,則只能指定private修飾符。
枚舉類的所有實例必須在枚舉類的第一行顯式列出,否則這個枚舉類永遠都不能產生實例。列出這些實例時,系統會自動添加public static final 修飾,無須程序員顯式添加。
枚舉類默認提供了一個 values() 方法,該方法可以很方便地遍歷所有的枚舉值。
舉例;
//枚舉的構造器是私有的
//枚舉只能在自己的首行代碼實例化自己的對象
//枚舉的實例對象,默認會加上 public static final修飾
public enum Week { //規定你只能有哪幾個實例
//MONDAY: 就是枚舉的實例,代表是一個枚舉對象
//定義了7個Week的對象;
//實例變量名分別是 MONDAY , TUESDAY .....
MONDAY,TUESDAY,WEDNESDAY,THURSDAY,FRIDAY,SATURADAY,SUNDAY;
//MONDAY : 就是一個具體的對象; public static final Week MONDAY = new Week();
//TUESDAY : 也是一個具體的對象; public static final Week TUESDAY = new Week();
//枚舉可以有方法,可以有成員變量
String pt;
public void test() {
//this:當前對象
System.out.println("枚舉裏面的test方法" + this.name());
}
}