Java
 Computer >> コンピューター >  >> プログラミング >> Java

列挙型はJavaの任意のクラスを拡張できますか?


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

キーワードenumの後に列挙型の名前を-

として使用して、列挙型を定義できます。
enum Days {
   SUNDAY, MONDAY, TUESDAY, WEDNESDAY, THURSDAY, FRIDAY, SATURDAY
}

配列と同様に、列挙型の要素/定数は、上記の例では0から始まる番号を使用して識別されます。日は、次の図に示すように番号を使用して識別されます-

列挙型はJavaの任意のクラスを拡張できますか?

列挙型はクラスに似ており、変数、メソッド、コンストラクターをその中に含めることができます。列挙では具体的なメソッドのみが許可されます。

クラスの拡張

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

次の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
を拡張します
  1. JavaでJTextFieldにパディングを追加するにはどうすればよいですか?

    JTextField JTextComponentのサブクラスです クラスであり、ユーザーが単一行形式でテキスト値を入力できるようにする最も重要なコンポーネントの1つです。 。 JTextFieldクラスは、 ActionListenerを生成します 内部に入力を入力しようとしたときのインターフェイス。 JTextFieldクラスの重要なメソッドは、 setText()、getText()、setBorder()、setEnabled()、です。 など setMargin(Insets s)を使用して、JTextFieldにパディングを追加できます JTextComponent ク

  2. Javaの最終クラス

    finalとして宣言されているクラスを使用する主な目的は、クラスがサブクラス化されないようにすることです。クラスがfinalとしてマークされている場合、どのクラスもfinalクラスから機能を継承できません。 public final class Test {    // body of class }