ホームページ  >  記事  >  Java  >  Java では、列挙 (Enum) は任意のクラスを拡張できますか?

Java では、列挙 (Enum) は任意のクラスを拡張できますか?

王林
王林転載
2023-09-01 15:57:091304ブラウズ

Java の列挙 (enum) は、定数値のセットを格納するデータ型です。列挙を使用して、曜日、月などの固定値を保存できます。

以下に示すように、キーワード enum の後に列挙名を続けて列挙を定義できます。

enum Days {
   SUNDAY, MONDAY, TUESDAY, WEDNESDAY, THURSDAY, FRIDAY, SATURDAY
}

配列と同様、上記の例では、列挙内の要素/定数は次の方法で識別されます。次の図に示すように、0 から始まる番号:

Java では、列挙 (Enum) は任意のクラスを拡張できますか?

# 列挙クラスは、変数、メソッド、コンストラクターを含めることができるという点でクラスと似ています。列挙では具象メソッドのみが許可されます。

拡張クラス

すべての列挙クラスは、すべての言語列挙型の基本クラスである Enum という名前のクラスを内部的に拡張します。 Java は多重継承をサポートしていないため、enum クラスを別のクラスに拡張しようとするとコンパイル時エラーが生成されます。

サンプル

次の Java コード スニペットでは、Sample というクラスがあり、Scooters という列挙型を作成して、それを Sample クラスに拡張しようとしています。

import java.util.Scanner;
class Sample {
}
enum Scooters extends Sample {
}

出力

On executing, this class generates the following compile time error.
D:\>javac EnumExample.java
EnumExample.java:5: error: '{' expected
enum Scooters extends Sample{
              ^
EnumExample.java:5: error: ',', '}', or ';' expected
enum Scooters extends Sample{
                      ^
2 errors

以上がJava では、列挙 (Enum) は任意のクラスを拡張できますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事はtutorialspoint.comで複製されています。侵害がある場合は、admin@php.cn までご連絡ください。