9.枚舉類和註解

9.枚舉類和註解

一、枚舉類

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.元註解:可以對已有的註解進行解釋說明。


分享到:


相關文章: