一、枚舉類
1.如何自定義枚舉類。 枚舉類:類的對象是有限個的,確定的。
1.1 私有化類的構造器,保證不能在類的外部創建其對象
1.2 在類的內部創建枚舉類的實例。聲明為:public static final
1.3 若類有屬性,那麼屬性聲明為:private final 。此屬性在構造器中賦值。
2.使用enum關鍵字定義枚舉類
>2.1其中常用的方法:values() valueOf(String name);
>2.2枚舉類如何實現接口 :①讓類實現此接口,類的對象共享同一套接口的抽象方法的實現。
①讓類的每一個對象都去實現接口的抽象方法,進而通過類的對象調用被重寫的抽象方法時,執行的效果不同
public class TestSeason1 {
public static void main(String[] args) {
Season1 spring = Season1.SPRING;
System.out.println(spring);
spring.show();
System.out.println(spring.getSeasonName());
System.out.println();
//1.values()
Season1[] seasons = Season1.values();
for(int i = 0;i < seasons.length;i++){
System.out.println(seasons[i]);
}
//2.valueOf(String name):要求傳入的形參name是枚舉類對象的名字。
//否則,報java.lang.IllegalArgumentException異常
String str = "WINTER";
Season1 sea = Season1.valueOf(str);
System.out.println(sea);
System.out.println();
Thread.State[] states = Thread.State.values();
for(int i = 0;i < states.length;i++){
System.out.println(states[i]);
}
sea.show();
}
}
interface Info{
void show();
}
//枚舉類
enum Season1 implements Info{
SPRING("spring", "春暖花開"){
public void show(){
System.out.println("春天在哪裡?");
}
},
SUMMER("summer", "夏日炎炎"){
public void show(){
System.out.println("生如夏花");
}
},
AUTUMN("autumn", "秋高氣爽"){
public void show(){
System.out.println("秋天是用來分手的季節");
}
},
WINTER("winter", "白雪皚皚"){
public void show(){
System.out.println("冬天裡的一把火");
}
};
private final String seasonName;
private final String seasonDesc;
private Season1(String seasonName,String seasonDesc){
this.seasonName = seasonName;
this.seasonDesc = seasonDesc;
}
public String getSeasonName() {
return seasonName;
}
public String getSeasonDesc() {
return seasonDesc;
}
@Override
public String toString() {
return "Season [seasonName=" + seasonName + ", seasonDesc="
+ seasonDesc + "]";
}
//public void show(){
// System.out.println("這是一個季節");
//}
}
二、註解Annotation
1.JDK提供的常用的三個註解
@Override: 限定重寫父類方法, 該註釋只能用於方法
@Deprecated: 用於表示某個程序元素(類, 方法等)已過時
@SuppressWarnings: 抑制編譯器警告
2.如何自定義註解
以SuppressWarnings為例進行創建即可
3.元註解:可以對已有的註解進行解釋說明。
閱讀更多 異現場調查科 的文章
關鍵字: 編譯器