Java枚舉類型(enum)
- 枚舉類型都是繼承了Enum類(是一個抽象類)的一個類,我們可以向enum類中添加方法和變量等。編譯再反編譯可以看到枚舉類型對應的類的內容。
- 每個枚舉常量都對應一個Enum類的實例。
- 例子
public enum Day2 {
MONDAY("星期一"),
TUESDAY("星期二"),
WEDNESDAY("星期三"),
THURSDAY("星期四"),
FRIDAY("星期五"),
SATURDAY("星期六"),
SUNDAY("星期日");//逗號分隔,分號結束
private String desc;
/**
* 私有構造,防止被外部調用
* @param desc
*/
private Day2(String desc){
this.desc=desc;
}
public String getDesc(){
return desc;
}
}
我們所寫的構造函數只能被編譯器調用,事實上,MONDAY("星期一")
表明了會調用構造函數
private Day2(String desc){
this.desc=desc;
}
並為實例MONDAY的屬性desc賦值"星期一".
- 很好的參考文章,可以仔細閱讀:https://www.cnblogs.com/alter888/p/9163612.html
抽象類
- 抽象類和抽象方法用abstract關鍵字修飾。
- 抽象類不一定有抽象方法,有抽象方法的類一定是抽象類或者是接口。
- 一個抽象類如果沒有抽象方法,是可以定義為抽象類的,這么做的目的只有一個,就是不讓其他類創建本類對象,交給子類完成。
- 抽象類不能實例化。
- 抽象類的子類:要么是抽象類,要么重寫抽象類中的所有抽象方法。