Maison >Java >javaDidacticiel >Utilisation de base des classes d'énumération Java

Utilisation de base des classes d'énumération Java

PHPz
PHPzavant
2023-05-08 18:04:081468parcourir

1. Règles d'énumération

  • Les objets des classes d'énumération peuvent être définis dans la classe, et les nouveaux ne sont pas pris en charge

  • Les classes d'énumération ont des constructeurs, et les autres classes sont identiques et peuvent avoir plusieurs méthodes

  • .

    Le constructeur de la classe d'énumération doit être privé et les variables membres peuvent être publiques ou privées

Raison : Le constructeur de la classe d'énumération ne peut être appelé que dans cette classe, car les autres nouvelles méthodes ne sont pas prises en charge. Objet, donc le constructeur naturel est privé

Exemple de code :

package com.meijulei;
//枚举类
public enum Cat {
    A("小明",12),B("小花",22),C("小红",23),D("小蓝",30),E("小绿",20),F("小黄",32);
    public String name;
    private int age;
    private Cat(){
    }
    private Cat(String a,int b){
        name=a;
        age=b;
    }
    public void m1(){
        System.out.println("姓名为:"+name+",年龄为:"+age);
    }
}
//调用
package com.meijulei;
import com.meijulei.Cat;
public class Test {
    public static void main(String[] args) {
        Cat a=Cat.A;
        a.m1();
    }
}

2. Nombre d'énumérations

Remarque : Le nombre d'énumérations fait référence au nombre dans le tas, qui est déclaré dans la classe d'énumération Le nombre d'objets

Utilisation de base des classes dénumération Java

3. Fonctions couramment utilisées dans les classes d'énumération

**Fonction Cat.C.ordinal()**, calcule quel objet se trouve l'objet dans la classe d'énumération (calculé à partir de 0 ) Cat.C.compareTo(Cat.E) Compare le différence entre deux objets, soustrait le premier du second,

A("小明",12),B("小花",22),C("小红",23),D("小蓝",30),E("小绿",20),F("小黄",32);
		System.out.println(Cat.E.ordinal());
        System.out.println(Cat.C.compareTo(Cat.E));

//output
//4
//-2

4 Implémenter la classe d'énumération

Jetons ensuite un coup d'œil à un exemple de DÉMO simple. :

/**
 * java枚举
 */
public class Enum {
    public static void main(String[] args) {
        System.out.println(Season.SPRING);
        System.out.println(Season.SUMMER);
        System.out.println(Season.AUTUMN);
        System.out.println(Season.WINTER);
    }
}

// 定义的枚举类
enum Season {
    // 枚举定义的常量对象必须在最前面
    SPRING("春天","万物复苏"),
    SUMMER("夏天","烈日炎炎"),
    AUTUMN("秋天","硕果累累"),
    WINTER("冬天","寒冷刺骨");

    private String name;
    private String desc;

    private Season(String name, String desc) {
        this.name = name;
        this.desc = desc;
    }

    public String getName() {
        return name;
    }

    public String getDesc() {
        return desc;
    }

    @Override
    public String toString() {
        return "Season{" +
                "name='" + name + '\'' +
                ", desc='" + desc + '\'' +
                '}';
    }
}

Sortie :

Saison{name='Printemps', desc='Récupération de toutes choses'}
Saison{name='Summer', desc='Le soleil est brûlant'}
Saison{name=' automne', desc='fructful'}
Season{name='winter', desc='cold'}

5 Précautions d'utilisation des classes d'énumération

Lorsque nous utilisons le mot-clé enum pour développer une classe d'énumération, l'Eunm. la classe sera héritée par défaut, et c'est une classe finale modifiée

Si nous utilisons un constructeur sans paramètre, les parenthèses peuvent être omises directement dans l'énumération

// 枚举定义的常量对象必须在最前面
SPRING("春天", "万物复苏"),
SUMMER("夏天", "烈日炎炎"),
AUTUMN("秋天", "硕果累累"),
WINTER("冬天", "寒冷刺骨"),
Other, Shit;

Season() {
}

private Season(String name, String desc) {
    this.name = name;
    this.desc = desc;
}

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer