Ich habe zwei Möglichkeiten, um Konstanten zu definieren. Der erste enthält die Menge der statischen finalen DataType-Variablen in einer Klasse und die andere mithilfe von Enum. HierSo definieren Sie konstante Werte - Best Practice
ist die Faust Typ:
public class TipTipProperties {
public static final String MAX_WIDTH_AUTO = "auto";
public static final String POSITION_RIGHT = "right";
}
Und die Verwendung dieser Variable wird über statischen Aufruf, als Beispiel: TipTipProperties.MAX_WIDTH_AUTO
und der zweite Typ ist:
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;
}
}
}
Als Beispiel Verwendung: TipTipProperties.POSITION_RIGHT.getPosition().getPosition()
.
Meine Frage ist:
- Welche bessere OOP und warum?
- Gibt es Alternativen oder einen besseren Ansatz?
Vielen Dank im Voraus.
'Enum ++; finalString -; ' – assylias
Ist das erste Beispiel kompiliert? Sollte es nicht "öffentliche Klasse TipTipProperties" sein? –
@HunterMcMillen, es ist meine Schuld. Fehler kopieren/einfügen. –