У меня есть два способа определения констант. Первый содержит кучу статических конечных переменных DataType в классе, а другой - с помощью Enum.Как определить постоянные значения - наилучшая практика
Вот это тип кулака:
public class TipTipProperties {
public static final String MAX_WIDTH_AUTO = "auto";
public static final String POSITION_RIGHT = "right";
}
И использование этих переменных воли через статический вызов, в качестве примера: TipTipProperties.MAX_WIDTH_AUTO
И второго типа:
public enum TipTipProperties {
MAX_WIDTH_AUTO(MaxWidth.AUTO),
POSITION_RIGHT(Position.RIGHT);
private MaxWidth maxWidth;
private Position position;
private TipTipProperties(MaxWidth maxWidth) {
this.maxWidth = maxWidth;
}
private TipTipProperties(Position position) {
this.position = position;
}
public MaxWidth getMaxWidth() {
return maxWidth;
}
public Position getPosition() {
return position;
}
public enum MaxWidth {
AUTO("auto");
private String width;
private MaxWidth(String width) {
this.width = width;
}
public String getWidth() {
return width;
}
}
public enum Position {
RIGHT("right"),
private String position;
private Position(String position) {
this.position = position;
}
public String getPosition() {
return position;
}
}
}
В качестве примера используется: TipTipProperties.POSITION_RIGHT.getPosition().getPosition()
.
Мой вопрос:
- Какой из них лучше ООП и почему?
- Есть ли альтернативы или лучший подход существует?
Заранее спасибо.
'Enum ++; finalString -; ' – assylias
Вы первый пример компилируете? Разве это не должно быть 'public class TipTipProperties'? –
@ HunterMcMillen, это моя вина. копия/вставка ошибка. –