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

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

PHPz
Libérer: 2023-05-08 18:04:08
avant
1488 Les gens l'ont consulté

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();
    }
}
Copier après la connexion

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));
Copier après la connexion

//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 + '\'' +
                '}';
    }
}
Copier après la connexion

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;
}
Copier après la connexion

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!

Étiquettes associées:
source:yisu.com
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal