列挙型クラスのコンストラクターとプロパティ
列挙型クラス
列挙型は本質的にはクラスですが、特別なクラスです。
列挙型の宣言には、コンストラクター、メンバー変数、メンバー メソッドなど、クラスに必要な他の部分を含めることもできます。
列挙型のコンストラクター
列挙型のコンストラクターは、個々の列挙メンバーに追加の説明を追加するためによく使用されます。
列挙型のコンストラクターのアクセス許可はプライベートである必要があり、他のクラスで呼び出すことはできません。
コンストラクターを宣言した後、列挙定数の宣言で対応するコンストラクターを呼び出す必要があります。
列挙型クラスのコンストラクターとプロパティ
上の例では、EAST (" East ")は次と同等です。
public static Final Directions EAST =new Direction(“东” )
つまり、Directionsクラスのオブジェクトには文字列のプロパティがあります。
列挙型クラスのvaluesメソッド
列挙型の親クラス
すべての列挙型は暗黙的にjava.lang.Enumを継承します。つまり、すべての列挙型はクラスとみなされ、Enumクラスのメソッドを継承します。
列挙型の静的メソッドの値
列挙型を定義する場合、列挙型の各メンバーは列挙型のインスタンスになります。
列挙型ごとに、コンパイラは静的メソッドvalueを生成します。valuesメソッドは、列挙型のメンバーを配列形式で返します。逆に、このメソッドを通じて列挙メンバーの情報を取得することもできます。
列挙型クラスのvaluesメソッドのプログラム例。
value メソッドは静的メソッドであるため、クラス名 value() の形式で呼び出すことができ、このメソッドは列挙型の配列を返し、その長さは length を使用して取得できます。