私はシナリオを列挙して読んで実装していました。私は、インスタンスなしで列挙型 を作成できるとわかりました。そのようなEnum
の実用は何ですか?第2に、Enum
は インターフェイスを実装することもできますが、明らかにクラスを拡張することはできません。既にクラスEnum
を拡張しています。インスタンスなしでEnum
を作成することの実際的な利点は何ですか? ベンインスタンスなしで列挙型を作成する方法は何ですか?
答えて
ゼロ部材列挙は、実際にはJavaコミュニティの特定のセグメントで使用ユーティリティクラスイディオムである(特に、Peter Lawrey)。それらは最も簡潔で、おそらくクラスがインスタンス化されないか、サブクラス化されないことを保証する最もクリーンな方法です。
もちろん、インスタンスのような列挙型のメソッドはありません。静的なものだけです。
このようなことがどこで行われたかの例を挙げることはできますか?普通のクラス(例えば 'java.lang.Math')が使われている場所はたくさんありますが、これを見たことはないと思います。 – arshajii
しかし、それはjavadocの 'enum'セクションに現れますが、javadocを探す必要はありません。最終的な(分かりやすくするために)class + privateコンストラクタは、そのようなユースケースの標準的なイディオムです(機能的には同等ですが)。これは通常、JDK(8を含む)で行われます。 – assylias
@arshajii「数学」は古すぎて「enum」ではありません。 –
Enum
はclass
またはinterfaces
のような参照型です。これは、あなたが よく」、program to interface and not implementation"を原則を適応させることができることを意味する。enum
の
メンバーが必ずしも宇宙の果てまで固定されていません。あなたは、だから私はenum
が作成されていることを想像することができます。バイナリ比較可能性を壊すことなく、新しいメンバーを追加することができます現時点では何のインスタンスを持っていないが、いくつかは後から追加したことがあり、いくつかの概念をモデル化する。
は、enum
が、我々は間違いなくすべてのインスタンスを持つことはありませんでしょうか?たとえばenum NegativeNaturalNumber{}
のために?でした知っている概念のために作成することも可能ですそれはプログラムの目的を果たしているのですか?誰が知っていますか、私たちは確信をもって言えません。
- 1. プレハブをスプライトのイメージでインスタンス化する列挙型を作成する方法
- 2. 列挙型を反復して列挙型インスタンスを設定する方法
- 3. 列挙型の列挙型の作成
- 4. 列挙型の値は何ですか?
- 5. Javaで列挙型のインスタンスを作成する必要があるのはなぜですか?
- 6. 列挙型フィールドでモデルを生成する方法は?
- 7. phpmyadminが列挙型の値を作成しないのはなぜですか?
- 8. 特別なcharectersで列挙型を作成する
- 9. 列挙型でドロップダウンリストを作成しますか?
- 10. System.Typeを使用して列挙型からIEnumerableを作成する方法
- 11. TypeScriptでランダムな列挙型を取得する方法は?
- 12. Javaで列挙型を使用してコンストラクタを作成する
- 13. ASP.NET MVCの列挙型からドロップダウンリストを作成する方法は?
- 14. MySQLデータベースから列挙型のドロップダウンリストを列挙する方法
- 15. "&"は列挙型ですか?
- 16. 列挙型を取得するか列挙型を返すの違いは何ですか?
- 17. C++で列挙型から文字列を返す方法は?
- 18. デフォルト値で列挙型フィールドを作成するには?
- 19. 型セーフなCOM列挙型を実装する方法は?
- 20. 列挙型に基づいて列挙型カテゴリを作成します。
- 21. 静的なvalueOf()メソッドのポイントは何ですか? (列挙型)
- 22. 列挙型の配列の「一般的な」型は何ですか?
- 23. C#で列挙型にキャストできる新しい数値型を作成する方法
- 24. 一般的な列挙型メソッドを作成するには?
- 25. 列挙型ドロップダウンの強く型付きのラベルを作成する方法
- 26. .NETでAppDomainからインスタンスを作成する方法は、インスタンスにパブリックコンストラクタがない場合は何ですか?
- 27. クラスを列挙型の中にネストし、列挙型の中にarraylistを作成できますか?
- 28. コンストラクタで一連の列挙型を作成し、リストを作成する - Java
- 29. 列挙をインクリメントする最良の方法は何ですか?
- 30. デストラクタでは、この列挙型は何ですか?
ああそう。しかし、多くのインタビュアーがこの質問をしています。何もない場合、なぜJavaの人々はそれを許可しますか?どこかに使用されているかもしれませんが、私たちはそれについて認識していません。 – benz
参照:http://stackoverflow.com/a/14900526/829571 – assylias