ホームページ >Java >&#&チュートリアル >Java 列挙クラスの基本的な使用法
列挙クラスのオブジェクトはクラス内で定義できますが、新しいオブジェクトはサポートされていません。 #Enumeration 列挙クラスには他のクラスと同じコンストラクターがあり、複数のメソッドを持つことができます
列挙クラスの構築メソッドはプライベートである必要があり、メンバー変数はパブリックにすることができますまたは private
理由: 他の新しいオブジェクトがサポートされていないため、列挙クラスのコンストラクターはこのクラスでのみ呼び出すことができます。そのため、自然なコンストラクターはプライベートです。コード例 :
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(); } }
注: 列挙の数はヒープ内の数を指し、これは列挙クラスで宣言されたオブジェクトの数です。
**Cat.C.ordinal()**関数は、列挙型クラス内のオブジェクトの位置を計算します。中央 (0 から計算) Cat.C.compareTo(Cat.E) は 2 つのオブジェクトの差を比較し、後のオブジェクトから前のオブジェクトを減算します。
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次に、簡単なデモの例を見てみましょう:
/** * 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 + '\'' + '}'; } }
出力:
シーズン{name ='Autumn', desc='Fruitful'}
Season{name='Winter', desc='Bitter-cold'}5. 列挙型クラス使用時の注意事項
enum キーワードを使用して列挙型クラスを開発すると、Eunm クラスがデフォルトで継承され、最終的に変更されたクラスになります。
パラメータなしのコンストラクターを使用している場合は、括弧を省略できます。列挙内で直接// 枚举定义的常量对象必须在最前面 SPRING("春天", "万物复苏"), SUMMER("夏天", "烈日炎炎"), AUTUMN("秋天", "硕果累累"), WINTER("冬天", "寒冷刺骨"), Other, Shit; Season() { } private Season(String name, String desc) { this.name = name; this.desc = desc; }
以上がJava 列挙クラスの基本的な使用法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。