列挙型クラスとアノテーション

記事のディレクトリ


1.列挙型の使用

  • 定数のセットを使用する必要がある場合は、列挙型クラスを使用することをお勧めします

  • カスタム列挙クラス

package javabasis.chapter10;

public class Season {
    
    
    private final String SEASONNAME;//季节名称
    private final String SEASONDESC;//季节描述
    private Season(String seasonName,String seasonDesc)
    {
    
    
        this.SEASONNAME=seasonName;

        this.SEASONDESC=seasonDesc;
    }

    public static final Season SPRING=new Season("春天","春暖花开");
    public static final Season SUMMER=new Season("夏天","骄阳似火");
    public static final Season AUTUMN=new Season("秋天","秋高气爽");
    public static final Season WINTER=new Season("冬天","白雪皑皑");

    public String toString()
    {
    
    
        return SEASONNAME+" "+SEASONDESC;
    }

    public static void main(String[] args) {
    
    
        System.out.println(SPRING);
        System.out.println(SUMMER);
        System.out.println(AUTUMN);
        System.out.println(WINTER);
    }
}
天 春暖花开
夏天 骄阳似火
秋天 秋高气爽
冬天 白雪皑皑
  • カスタム列挙クラス
package javabasis.chapter10;

public enum SeasonEnum {
    
    
    SPRING("春天","春暖花开"),
    SUMMER("夏天","骄阳似火"),
    AUTUMN("秋天","秋高气爽"),
    WINTER("冬天","白雪皑皑");

    private final String SEASONNAME;//季节名称
    private final String SEASONDESC;//季节描述

    private SeasonEnum(String seasonName,String seasonDesc)//构造器结构与枚举量一致
    {
    
    
        this.SEASONNAME=seasonName;

        this.SEASONDESC=seasonDesc;
    }
    public static void main(String[] args) {
    
    
        System.out.println(SPRING);
        System.out.println(SPRING.SEASONNAME);
        System.out.println(SPRING.SEASONDESC);
       
    }


}
SPRING
春天
春暖花开

2.注釈

  • @Override:親クラスメソッドのオーバーライドを制限します。このアノテーションはメソッドにのみ使用できます
  • @Deprecated:変更された要素、クラス、およびメソッドが古くなっていることを示すために使用されます
  • @SuppressWarning:コンパイラの警告を抑制します

いくつかの種類のメタ注釈:

  • @Targetは、アノテーションの使用範囲を記述します

  • @Retentionは、アノテーション保持の時間範囲を表します

  • @Documentedjavadocツールを使用してクラスのヘルプドキュメントを生成するときにアノテーション情報を保持するかどうかを説明します。

  • @AliExpressは、それによって変更されたアノテーションを継承可能にします(クラスが、@ AliExpressによって変更されたアノテーションを使用する場合、そのサブクラスは自動的にアノテーションを持ちます)。

おすすめ

転載: blog.csdn.net/qq_43478694/article/details/114999521