🌊
100DaysOfJava - [Day 4] 列挙型 ~その2~
列挙型のコンストラクタ
-
private
コンストラクタの定義列挙型では、
private
なコンストラクタを定義することができます。この場合、列挙型の要素は列挙型内でしかインスタンス化できません。public enum Season { SPRING("March to May"), SUMMER("June to August"), AUTUMN("September to November"), WINTER("December to February"); private final String description; private Season(String description) { this.description = description; } public String getDescription() { return description; } }
-
public
コンストラクタの制限一方で、列挙型では
public
なコンストラクタを定義することはできません。列挙型の要素は事前に定義された定数であり、インスタンス化は列挙型内でのみ行われるため、public
コンストラクタを定義する必要性がないためです。
列挙型の利用例
public class EnumExample {
public static void main(String[] args) {
Season currentSeason = Season.SPRING;
System.out.println("Current season is " + currentSeason);
System.out.println("Description: " + currentSeason.getDescription());
}
}
列挙型の利点の再確認
- 列挙型は定数の集合を簡潔に表現できる。
- 定数ごとに固有のメソッドやフィールドを持つことができ、コードの読みやすさを向上させる。
結論
列挙型は、定数の集合を効果的に表現し、型安全性を提供する強力なツールです。private
コンストラクタを利用することで、列挙型の要素に固有の動作や情報を持たせることができます。
Discussion