la clase de enumeración para crear los principios de [bien]

la clase de enumeración para crear los principios de [bien]

I. Introducción

clase de enumeración generalmente definir un conjunto de aplicaciones que requieren constante, que se utiliza generalmente como se describe en los escenarios de negocios servicio de los diferentes estados.

En segundo lugar, la enumeración de las definiciones de clase

1, el papel de la clase de enumeración

La obtención de un número constante de fijo conjunto de constantes.

2, bajo qué circunstancias enumeradas clases

La definición de un conjunto de constantes, y las constantes se fija número de clase de enumeración recomendada obtener constante.

3, la ventaja de usar la constante de clase de enumeración adquirido

* Constructor de la clase de enumeración es privada, por lo demás clases no puede crear el objeto de clase para asegurar que el número de constante objeto de clase es fijo.

* Tipo de seguridad: la clase de enumeración de llamada sólo puede pasar un nombre de objeto definido, que pasa en un nombre definido no-será lanzada.

 

En tercer lugar, crear un tipo de enumeración

La clase de enumeración es la versión java5.0 añade características no clases anteriormente enumerados.

Hay dos maneras de crear clase de enumeración, la primera clase evolucionado hasta convertirse en un funcionario de enumeración enumeración de tipo enumeración personalizada deducir los principios de la enumeración oficial java enumeración clase.

  • clase de enumeración personalizada
//自定义枚举类

public class EnumTest {
    //1、申明 EnumTest 对象的属性
    private final String name;

    //2、私有化类的构造器
    private EnumTest(String name) {
        this.name = name;
    }

    //3、创建枚举类的对象
    public static final EnumTest SPRING = new EnumTest("春天");
    public static final EnumTest SUMMER = new EnumTest("夏天");
    public static final EnumTest AUTUMN = new EnumTest("秋天");
    public static final EnumTest WINTER = new EnumTest("冬天");

    //4、获取枚举类对象的属性
    public String getName() {
        return name;
    }

    //5、提供toString
    @Override
    public String toString() {
        return "EnumTest{" +
                "name='" + name + '\'' +
                '}';
    }
}
  •  enumeración enumeración de clase

Este resumen proporcionado por las instancias de la clase clase de enumeración enumeración enum oficiales creados por observar y seguir las diferencias de clase de enumeración personalizado:

Creación de clase de enumeración principio enumeración de palabras clave:
     * 1. Enumeración de enumeración de clase para crear objetos que duplican el código se ha simplificado, dejando sólo el nombre del objeto. Simplificar los siguientes efectos.
     * Frontal simplificada: public static final EnumTest PRIMAVERA = new nueva EnumTest ( "Primavera");
     * simplificada a: MUELLE ( "Primavera")
     *
     * 2 entre la pluralidad de objetos divididas por comas, y finalmente termina con un punto y coma.
     * MUELLE ( "Primavera"),
     VERANO * ( "verano"),
     * OTOÑO ( "Otoño"),
     * Invierno ( "Winter");

     *
     * 3. La clase de enumeración predeterminado herencia java.lang.Enum, en lugar de heredar la clase Object.
     * Por ejemplo: la clase de enumeración EnumPass pública compilado es una clase EnumPass la extiende al público final Enumeración
     *
     * 4. el método toString predeterminado de anulación java.lang.Enum, y por lo tanto no se puede escribir en el método toString clase de enumeración. Custom
     * clase de enumeración herencia Objec, por lo que es necesario reescribir método toString.

public enum EnumPass {
    /**
     * enum 关键字创建枚举类原理:
     * 1.使用enum 枚举类创建对象将重复的代码进行了简化,简化效果如下。
     * 简化前:public static final EnumTest SPRING = new EnumTest("春天");
     * 简化后:SPRING("春天"),
     *
     * 2.多个对象之间用逗号 分割,最后用 分号结束
     * 
     * 3.枚举类默认继承java.lang.Enum,而不是继承Object类。
     *  例如:public enum EnumPass 类 编译后是这样的 public final class EnumPass extends Enum
     *
     * 4. java.lang.Enum默认重写了toString方法,因此在枚举类中可以不写toString方法。自定义的
     * 枚举类继承Objec,所以需要重写toString方法。
     */
    SPRING("春天"),
    SUMMER("夏天"),
    AUTUMN("秋天"),
    WINTER("冬天");

    //2、申明 EnumTest 对象的属性
    private final String name;

    //3、提供有参构造器
    EnumPass(String name) {
        this.name = name;
    }

    //4、获取枚举类对象的属性

    public String getName() {
        return name;
    }
}

En cuarto lugar, llamar a la clase de enumeración

public class App {
    public static void main(String[] args) {

        //第一种方式,自定义枚举类
        EnumTest spring = EnumTest.SPRING;
        System.out.println("自定义枚举类:"+spring);

        //第二种方式,enum关键类创建枚举类
        EnumPass spring1 = EnumPass.SPRING;
        System.out.println("enum创建枚举类:" +spring1.getName());
    }
}

resultados de la prueba

自定义枚举类:EnumTest{name='春天'}
enum创建枚举类:春天

 

Publicados 316 artículos originales · ganado elogios 117 · vistas 420 000 +

Supongo que te gusta

Origin blog.csdn.net/m0_38039437/article/details/104892003
Recomendado
Clasificación