Heim  >  Artikel  >  Java  >  Grundlegende Verwendung von Java-Enumerationsklassen

Grundlegende Verwendung von Java-Enumerationsklassen

PHPz
PHPznach vorne
2023-05-08 18:04:081449Durchsuche

1. Aufzählungsregeln

  • Objekte von Aufzählungsklassen können in der Klasse definiert werden, und neue werden nicht unterstützt.

  • Aufzählungsklassen sind identisch und können mehrere Methoden haben

    Der Konstruktor der Aufzählungsklasse muss privat sein und die Mitgliedsvariablen können öffentlich oder privat sein
  • Grund: Der Konstruktor der Aufzählungsklasse kann nur in dieser Klasse aufgerufen werden, da andere neue Methoden nicht unterstützt werden Objekt, also Der natürliche Konstruktor ist privat
Codebeispiel:

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. Anzahl der Aufzählungen

Hinweis: Die Anzahl der Aufzählungen bezieht sich auf die Anzahl im Heap, die in der Aufzählungsklasse deklariert ist 3. Häufig verwendete Funktionen in Aufzählungsklassen

**Cat.C.ordinal()** Funktion, berechnet, welches Objekt sich in der Aufzählungsklasse befindet (berechnet von 0 ) Cat.C.compareTo(Cat.E) Vergleicht die Differenz zwischen zwei Objekten, subtrahiert das erstere vom letzteren,

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));

//outputGrundlegende Verwendung von Java-Enumerationsklassen//4

//-2

4. Implementieren Sie die Aufzählungsklasse

Als nächstes schauen wir uns ein einfaches DEMO-Beispiel an :

/**
 * 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 + '\'' +
                '}';
    }
}

Ausgabe:

Season{name='Frühling', desc='Erholung aller Dinge'}

Season{name='Sommer', desc=' Die Sonne brennt'}

Season{name=' Autumn', desc='fruitful'}

Season{name='winter', desc='cold'}

5. Vorsichtsmaßnahmen für die Verwendung von Aufzählungsklassen

Wenn wir das Schlüsselwort enum verwenden, um eine Aufzählungsklasse zu entwickeln, wird die Eunm Die Klasse wird standardmäßig geerbt und ist eine endgültige modifizierte Klasse.

Wenn wir einen Konstruktor ohne Parameter verwenden, können die Klammern direkt in der Aufzählung weggelassen werden.

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

Season() {
}

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

Das obige ist der detaillierte Inhalt vonGrundlegende Verwendung von Java-Enumerationsklassen. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Dieser Artikel ist reproduziert unter:yisu.com. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen