Clases de enumeración y anotaciones

Directorio de artículos


1. El uso de la enumeración

  • Cuando necesite usar un conjunto de constantes, se recomienda usar una clase de enumeración

  • Clase de enumeración personalizada

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);
    }
}
天 春暖花开
夏天 骄阳似火
秋天 秋高气爽
冬天 白雪皑皑
  • Clase de enumeración personalizada
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. Anotación

  • @Override: Limite la invalidación del método de la clase principal, esta anotación solo se puede usar para métodos
  • @Deprecated: se usa para indicar que los elementos, clases y métodos modificados están desactualizados
  • @SuppressWarning: suprime las advertencias del compilador

Varios tipos de meta-anotaciones:

  • @Target describe el alcance de uso de las anotaciones

  • @Retention describe el intervalo de tiempo de retención de anotaciones

  • @Documentado Describe si se debe conservar la información de la anotación cuando se usa la herramienta javadoc para generar documentación de ayuda para la clase.

  • @Inherited hace que la anotación modificada por ella sea heredable (si una clase usa la anotación modificada por @Inherited, sus subclases automáticamente tendrán la anotación).

Supongo que te gusta

Origin blog.csdn.net/qq_43478694/article/details/114999521
Recomendado
Clasificación