【发布时间】:2012-05-15 08:07:57
【问题描述】:
我有两种定义常量的方法。第一个将一堆静态最终 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()。
我的问题是:
- OOP 哪个更好,为什么?
- 是否存在任何替代方案或更好的方法?
提前致谢。
【问题讨论】:
-
Enum++; finalString--; -
你第一个例子编译了吗?不应该是
public class TipTipProperties吗? -
@HunterMcMillen,这是我的错。复制/粘贴错误。
标签: java oop static enums constants