#注意事項
列挙クラス:制限されたオブジェクト
カスタム列挙クラスコード:
パブリック クラスTestEnumeration { 公共 静的 ボイドメイン(文字列[]引数){ // メソッドTODO自動生成されたスタブの 季節=春Season.SPRING; spring.show(); 季節冬 = Season.WINTER; winter.show(); } } // 列挙クラス クラスシーズン{ //が最終プライベートとして宣言された属性クラス提供 プライベート 最終列seasonNameと、 民間 最終列seasonDesc; // 最終的な特性、初期設定 プライベートシーズン(seasonName文字、文字列seasonDesc){ この .seasonName = seasonName; この .seasonDesc = seasonDesc; } パブリック文字列getSeasonName(){ 戻りseasonNameを; } パブリック文字列getSeasonDesc(){ 戻りseasonDescを; } // 作成列挙オブジェクト パブリック スタティック ファイナルシーズン=春新新シーズン(「春です」「春」、); 公共の 静的な 最終シーズン=冬の新しい新シーズン(「冬」、「これは冬である」); 公衆 静的 ファイナルシーズン= SUMMER 新新シーズン(「夏」、「この夏」); 公共の 静的な 最終シーズン= AUTUMN 新新シーズン(「秋」、「これは秋です」); 公共 ボイドショー(){ System.out.printlnは( "これは" + この.getSeasonName()); } }
列挙されたクラスを作成列挙を使用します。
{クラスTestEnumerationEnumパブリック
パブリック静的な無効メイン(文字列[]引数)を{
SeasonEnum =春SeasonEnum.SPRING;
spring.show();
//方法は、(バックアレイ状に)オブジェクト値の列挙クラスを返す
SeasonEnum [] =シーSeasonEnum.values();
(オブジェクトobj:SEA)のための{
のSystem.out.printlnは(OBJ);
}
//.values(String名)オブジェクト列挙クラス戻り
= "SPRING"文字列strと、//無差別ではありません書き込み、そうでなければ異常報告
SeasonEnum SEA1 = SeasonEnum.valueOf(STR)を、
のSystem.out.println(SEA1); //はSeasonEnumを返す[seasonName =春、seasonDesc =これはばねである]
}
}
列挙型列挙//作成
列挙SeasonEnumを{
//オブジェクトクラスへとカスタムで最上位の列挙クラスに単純化:
SPRINGは、( "春"、 "それは春だ")、
WINTER( "冬"、 "これは冬である")、
SUMMER( "夏"、 "この夏")、
AUTUMN( "秋"、 "これは秋です。" );
//属性は、最終的なプライベートとして宣言されたクラスを提供
民間最終列seasonNameと、
民間最終列seasonDesc;
//属性が最終的な宣言、初期設定
プライベートSeasonEnum(seasonName文字、文字列seasonDesc){
this.seasonName = seasonName ;
this.seasonDesc = seasonDesc;
}
パブリック文字列getSeasonName(){
seasonNameを返す;
}
パブリック文字列getSeasonDesc(){
seasonDescを返す;
}
@Override
パブリック文字列のtoStringを(){
リターン"SeasonEnum [seasonName =" + seasonName + "seasonDesc =" + seasonDesc + "]"。
}
公共ボイドショー(){
System.out.printlnは( "这是" + this.getSeasonName())。
}
}
インタフェースを実装する列挙クラス:
パブリック クラスTestEnumerationInter { 公共の 静的な 無効メイン(文字列[] args)を{ SeasonEnum冬 = SeasonEnum.WINTER; winter.show(); // この冬返す SeasonEnum海 = SeasonEnum.valueOf( "SUMMER" ;) (sea.showを); // これは夏である } } // インターフェイス定義 インターフェイスEnumTest { ボイドショー(); } // カスタム列挙クラス 列挙 SeasonEnum 実装EnumTest { // 最上位オブジェクト・クラスクラス列挙へとカスタムのように簡略化: // 第2の実施インターフェース ( "ばねである" "春"、SPRING ){ 公共 ボイドショー(){ System.out.printlnは( "こんにちは、春" ); } }、 WINTER( "冬"、「その冬" ){ 公共 ボイドショー(){ System.out.printlnは( "こんにちは、冬" ); } }、 夏( "夏""この夏" ){ 公共 ボイドショー(){ のSystem.out。 println( "こんにちは、夏" ); } }、 AUTUMN( "秋"、 "これは秋です。"){ 公共 ボイドショー(){ System.out.printlnは(「こんにちは、秋」); } }; //は、最終的なプライベートとして宣言された属性クラスを提供 プライベート 最終文字列seasonNameを、 民間 最終文字列seasonDesc; // 最終宣言プロパティは、初期設定で プライベートSeasonEnum(seasonName文字、文字列seasonDesc){ この .seasonName = seasonName; この .seasonDesc = seasonDesc; } パブリック文字列getSeasonName(){ 戻りseasonNameを; } 公共GetSeasonDesc文字列(){ 戻りseasonDescを; } @Override パブリック文字列のtoString(){ リターン "SeasonEnum [seasonName =" + seasonName + "seasonDesc =" + seasonDesc + "]" ; } / * インタフェースの最初の実装--- ---これの実装は、従来のものであり ます。public void表示(){ System.out.printlnは( "ある" + this.getSeasonName()); } * / }