Javaの静的VS非静的列挙
この記事では、Java の enum と、静的な enum と非静的な enums の違いについて紹介します。
Java での Enum の紹介
Java では、enum は、プログラマーが複数の定数変数を作成するために使用できるデータ型です。 通常、プログラマーは final キーワードを使用して Java で定数変数を宣言しますが、プログラマーは一度にすべての最終変数を宣言し、enum を使用して初期値を割り当てることができます。
Enum を使用する構文:
public enum EnumA { En1, En2 }
public class demo {
public static void main(String[] args) {
EnumA test = EnumA.En1;
}
}
上記の構文で、ユーザーは、EnumA に En1 および En2 定数変数が含まれていること、および demo クラスの静的メソッド内でどのようにそれらにアクセスしたかを確認できます。
Javaの静的VS非静的Enum
ここで、static で宣言された Enum と static キーワードなしで宣言された Enum を区別します。 ユーザーは、以下のコードを見て、static キーワードの有無にかかわらず Enum を宣言する方法を学ぶことができます。
Static キーワードを使用する場合と使用しない場合の Enum の構文:
public class demo {
public static enum EnumA { En1, En2 }
public enum EnumB { En3, En4 }
public static void main(String[] args) {
EnumA test1 = EnumA.En1;
EnumB test2 = EnumB.En3;
}
}
上記の構文では、EnumA が static キーワードで定義され、EnumB が static キーワードなしで定義されていることがわかります。 ただし、両方の Enum の定数に同じ方法でアクセスしているため、Java では、ユーザーが定義中に static キーワードを使用したとしても、すべての Enum は静的であると結論付けています。
Java では、public static メソッド内のオブジェクト参照なしで、静的メンバーにのみアクセスし、クラスの静的メソッドを実行できます。
さらに、開発者は、public static メソッド内で EnumA および EnumB の変数にアクセスしていることを確認できます。これは、static キーワードなしで宣言された Enum もデフォルトで静的であることを意味します。 .
したがって、この記事では、プログラマーが Enum を定義する際に static キーワードを使用しなくても、デフォルトで静的であると結論付けています。
