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(); } }
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
**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
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'}
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!