列挙型のプロパティと副作用

wantToLearn:

enumについて質問があります(簡単なものかもしれませんが....)。これは私のプログラムです:

public class Hello { 
         public enum MyEnum 
         { 
               ONE(1), TWO(2); 
               private int value; 
               private MyEnum(int value) 
               { 
                    System.out.println("hello");  
                    this.value = value; 
               } 
               public int getValue() 
               { 
                    return value; 
               } 
        } 
        public static void main(String[] args)  
        { 
              MyEnum e = MyEnum.ONE; 
        } 
}

そして私の質問は、なぜ出力が

hello
hello

ではなく

hello

コードはどのようにしてコンストラクターに2回「行き」ますか?最初の時はいつですか?そしてなぜ列挙型コンストラクタは公開できないのですか?それが1回だけではなく2回印刷する理由ですか?

piet.t:

列挙型はシングルトンであり、クラスのロード時にインスタンス化されます。つまり、2つの「こんにちは」はインスタンス化MyEnum.ONEMyEnum.TWO(印刷value試してみて)から来ます。

これは、コンストラクタがパブリックであってはならない理由でもあります。Enumは、各値のインスタンスが1つだけ存在することを保証します。

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

goの変数のプロパティとしての列挙型

分類Dev

列挙型のプロパティとのデコード可能な適合性

分類Dev

属性付きの列挙型とプロパティ付きのクラス

分類Dev

列挙型をクラスの通常のプロパティとして扱う

分類Dev

ObjectiveCのプロパティとして列挙型を使用できますか?

分類Dev

TypeScriptの列挙型の判別プロパティ

分類Dev

列挙型へのプロパティの追加

分類Dev

列挙型のJavaプロパティファイル

分類Dev

SwiftKVO-列挙型プロパティの監視

分類Dev

列挙型プロパティのRestSharp逆シリアル化

分類Dev

HWNDプロパティの列挙型c ++

分類Dev

null許容列挙型の遅延プロパティ

分類Dev

ジェネリック列挙型のSwiftStructプロパティ

分類Dev

Swift列挙型プロパティの作成

分類Dev

「currentData」計算プロパティの予期しない副作用

分類Dev

ActiveRecord列挙型フィールドへのプロパティの追加

分類Dev

jsonスキーマのオブジェクトプロパティとしての列挙型リスト

分類Dev

別のAJV定義から列挙型のプロパティ名を参照することは可能ですか?

分類Dev

列挙型をプロパティc#として割り当てます

分類Dev

他のプロパティ名の値を使用して列挙型の作成

分類Dev

レルムモデルのプロパティとして列挙型を使用する

分類Dev

特定の値/保存されたプロパティを持つ列挙型の作成

分類Dev

プロパティ値によるHibernateマップ列挙型

分類Dev

Springを使用して列挙型の値をプロパティに注入する

分類Dev

プロパティの列挙型をマージしない交差

分類Dev

列挙型の一般的なプロパティを宣言する方法は?

分類Dev

SwiftのCaseIterable列挙型に「next」プロパティを実装する方法

分類Dev

SwiftのCaseIterable列挙型に「next」プロパティを実装する方法

分類Dev

モデル定義の列挙型プロパティを表示します

Related 関連記事

  1. 1

    goの変数のプロパティとしての列挙型

  2. 2

    列挙型のプロパティとのデコード可能な適合性

  3. 3

    属性付きの列挙型とプロパティ付きのクラス

  4. 4

    列挙型をクラスの通常のプロパティとして扱う

  5. 5

    ObjectiveCのプロパティとして列挙型を使用できますか?

  6. 6

    TypeScriptの列挙型の判別プロパティ

  7. 7

    列挙型へのプロパティの追加

  8. 8

    列挙型のJavaプロパティファイル

  9. 9

    SwiftKVO-列挙型プロパティの監視

  10. 10

    列挙型プロパティのRestSharp逆シリアル化

  11. 11

    HWNDプロパティの列挙型c ++

  12. 12

    null許容列挙型の遅延プロパティ

  13. 13

    ジェネリック列挙型のSwiftStructプロパティ

  14. 14

    Swift列挙型プロパティの作成

  15. 15

    「currentData」計算プロパティの予期しない副作用

  16. 16

    ActiveRecord列挙型フィールドへのプロパティの追加

  17. 17

    jsonスキーマのオブジェクトプロパティとしての列挙型リスト

  18. 18

    別のAJV定義から列挙型のプロパティ名を参照することは可能ですか?

  19. 19

    列挙型をプロパティc#として割り当てます

  20. 20

    他のプロパティ名の値を使用して列挙型の作成

  21. 21

    レルムモデルのプロパティとして列挙型を使用する

  22. 22

    特定の値/保存されたプロパティを持つ列挙型の作成

  23. 23

    プロパティ値によるHibernateマップ列挙型

  24. 24

    Springを使用して列挙型の値をプロパティに注入する

  25. 25

    プロパティの列挙型をマージしない交差

  26. 26

    列挙型の一般的なプロパティを宣言する方法は?

  27. 27

    SwiftのCaseIterable列挙型に「next」プロパティを実装する方法

  28. 28

    SwiftのCaseIterable列挙型に「next」プロパティを実装する方法

  29. 29

    モデル定義の列挙型プロパティを表示します

ホットタグ

アーカイブ