Rumah  >  Artikel  >  Java  >  Penggunaan asas kelas enumerasi Java

Penggunaan asas kelas enumerasi Java

PHPz
PHPzke hadapan
2023-05-08 18:04:081443semak imbas

1. Peraturan penghitungan

  • Objek kelas penghitungan boleh ditakrifkan dalam kelas dan yang baharu tidak disokong Penghitungan Kelas penghitungan mempunyai pembina, sama seperti kelas lain Ia boleh mempunyai berbilang kaedah

  • Kaedah pembinaan kelas penghitungan mestilah peribadi, dan pembolehubah ahli boleh menjadi awam atau. persendirian

  • Sebab: Pembina kelas penghitungan hanya boleh dipanggil dalam kelas ini, kerana objek baharu lain tidak disokong, jadi pembina semula jadi adalah persendirian

  • Kod contoh :
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. Bilangan penghitungan

Nota: Bilangan penghitungan merujuk kepada nombor dalam timbunan, iaitu bilangan objek yang diisytiharkan dalam kelas penghitungan

3. Fungsi yang biasa digunakan dalam kelas enumerasi

Penggunaan asas kelas enumerasi Java**Fungsi Cat.C.ordinal()**, mengira kedudukan objek dalam kelas enumerasi Objek mana dalam tengah (dikira daripada 0) Cat.C.compareTo(Cat.E) membandingkan perbezaan antara dua objek, menolak yang sebelumnya daripada yang terakhir,

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. Laksanakan kelas penghitungan

Seterusnya mari kita lihat contoh DEMO mudah:
/**
 * 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 + '\'' +
                '}';
    }
}

Output:

Musim{name='Spring', desc='Revival of All Things'}

Musim{name='Summer', desc='Scorching Sun'}

Musim {name=' musim luruh', desc='fruitful'}
Musim{name='winter', desc='cold'}



5 Langkah berjaga-jaga untuk menggunakan kelas penghitungan

Apabila kita gunakan kata kunci enum untuk membangunkan kelas penghitungan, kelas Eunm akan diwarisi secara lalai, dan ia merupakan kelas diubah suai terakhir

Jika kami menggunakan pembina tanpa parameter, Kemudian anda boleh terus meninggalkan kurungan

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

Season() {
}

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

Atas ialah kandungan terperinci Penggunaan asas kelas enumerasi Java. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Artikel ini dikembalikan pada:yisu.com. Jika ada pelanggaran, sila hubungi admin@php.cn Padam