Java枚举可以有行为吗?
在Java中,枚举可以做枚举所做的伟大事情,但也可以有方法(行为和逻辑)。与使用使用枚举的类相比,这有什么优势?也欢迎提供简单的例子来说明这一点。
在Java中,枚举可以做枚举所做的伟大事情,但也可以有方法(行为和逻辑)。与使用使用枚举的类相比,这有什么优势?也欢迎提供简单的例子来说明这一点。
下面是一个简单的示例:
enum RoundingMode {
UP {
public double round(double d) {
return Math.ceil(d);
}
},
DOWN {
public double round(double d) {
return Math.floor(d);
}
};
public abstract double round(double d);
}
Enum
类型也是实现真正单例的好方法。
Java 中的经典单例模式通常涉及私有构造函数和公共静态工厂方法,但仍然容易受到通过反射或(反)序列化进行实例化的影响。枚举类型可防止这种情况。