Рассмотрим пример:
enum SomeEnum {
VALUE1("value1"),
VALUE2("value2"),
VALUE3("value3")
;
private String value;
private SomeEnum(final String value) {
this.value = value;
}
//toString
public String toString() {
return value;
}
}
Как мы можем это сделать (и значение действительно)?
SomeEnum.VALUE1.value = "Value4";
System.out.println(SomeEnum.VALUE1);
Не является ли этот экземпляр enum неявным статичным и окончательным? Кроме того, поскольку value
- private
, почему я могу обращаться к нему за пределами других классов?