Javaで列挙型クラス

#注意事項

列挙クラス:制限されたオブジェクト

カスタム列挙クラスコード:

パブリック クラス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()); 
    } 
* /     
    
}

 

おすすめ

転載: www.cnblogs.com/sixfiv/p/11426204.html