回答
我会去enum
。枚举给你几乎与类相同的灵活性(毕竟,枚举是一个类!),所以你可以按照你的意愿声明字段,方法和构造函数。忘了继承,但嘿 - 你应该偏向于继承两种方式组成;)
枚举也给你,没有任何喧嚣几个很酷的功能:
- 它类型安全
- 它线程
- 你可以使用它在
switch
和for-loop
陈述 - 你有一个整洁的API来处理常量定义(如
valueOf(String)
)
我建议有“由乔希布洛赫有效的Java”一看,你会惊奇地发现他们真正的工具有多么强大。
:谢谢你的回复。如果我使用枚举可以实现继承吗?谢谢! – user1016403 2012-01-30 17:26:23
不可以。不能继承枚举,因为它被声明为final类。如果您仔细考虑,实际上并不需要这么做,因为它可能会给代码添加一些不必要的复杂性,这可能会破坏客户端。说实话,我从来没有发现自己也处于一个我需要这样做的场景中。坚持原始枚举,你会很好:) – 2012-01-30 17:38:17
@Bachman:谢谢你的回复。枚举是可序列化的。如果我在一个类中声明了所有的常量,它是可序列化的吗?请帮帮我? – user1016403 2012-01-30 17:46:00
相关常量的枚举最好表示为enum
。
如果常量不共享一个共同的特征,但是多样化,那么不要使用枚举。
枚举:
- 由于Java 1.5
- 类型安全
- 您可以通过所有的定义值迭代
- 每个常量可以有更多的属性 - 简单写
静态字段:
- 作品在所有的Java版本
- 1. Java类枚举枚举类
- 2. 是否有可能有两个或多个单词枚举枚举类?
- 3. Java的枚举:一个内有多个字符串枚举
- 4. 可枚举有多少个参数?
- 5. 较好的是:一个枚举或单
- 6. MYSQL - 哪个枚举执行更好的枚举('Y','N')或枚举('1','0')
- 7. 当枚举在一个类中时Java枚举反射
- 8. 动态加载Java枚举类和枚举常量
- 9. 是枚举Java中的枚举
- 10. 枚举和常量。哪个使用时?
- 11. 在枚举中枚举是否有一个通用的方法?
- 12. 枚举或类型
- 13. 确定枚举类中的枚举数(或任何枚举类中的特定枚举值)
- 14. 获取枚举从一类具有多个枚举
- 15. 变量指向一个枚举或另一个枚举?
- 16. Java - 类,接口或枚举预期
- 17. 使用switch语句常量或枚举? (哪个更好)? C#
- 18. 带数字常量的枚举类型
- 19. 的Java:类等效枚举
- 20. 枚举抛出“不是枚举类型”
- 21. 将一个类型的枚举赋值为另一个类型的枚举?
- 22. 获取枚举或返回枚举数的区别是什么?
- 23. Java的枚举:实例枚举“动态”(更像是一个类的构造函数)与杰克逊
- 24. MSVC常量枚举类型
- 25. 下一个或上一个枚举
- 26. 是否有一个UnicodeCategory枚举图?
- 27. 如何从第一个匹配枚举类型获得枚举常量
- 28. Java枚举:两个枚举类型,每个枚举类型包含彼此的引用?
- 29. Java枚举找到枚举
- 30. 是否有可能在Typescript迭代一个常量枚举?
如果你能举一个具体的例子,这将有所帮助。 – 2012-01-30 17:11:55