如果我将常量变量值直接放在类中,当此值发生变化时会发生混乱。 如果我创建一个常量类来保持这样的常量,那么它只能在一个类中进行更改。但是我需要确定所有使用这些常量的类。因为需要重新编译。
然后需要单独的常量类? 建议我另一种管理常数的方法,如果更好的话。
答案 0 :(得分:5)
使用属性文件而不是制作常量类
答案 1 :(得分:1)
我会从不为我的所有常量使用一个类。
我也从不为所有整数或所有字符串使用一个类,或者为所有最终变量使用一个类,为所有静态变量使用另一个类等。
按功能分组您的成员,而不是语言功能。
如果我创建一个常量类来保持这样的常量,那么仅在一个类中进行更改是有帮助的。
遵循该逻辑,您可以将整个项目放在一个类中。
答案 2 :(得分:0)
我对JAVA很新,并且不确定能很好地理解你的问题,但是像文件Points.java这样的东西(例如,你可以为Strings,int,Objects ...或者任何类型)你有:
package classes;
import java.awt.Point;
public enum Points {
FIRST_POSITION(0,50,50),SECOND_POSITION(1,150,200),THIRD_POSITION(2,175,200),FOURTH_POSITION(3,175,200);
private int index;
private Point point;
private Points(int index,int x, int y){
this.index = index;
this.point = new Point(x, y);
}
public int getIndex() {
return index;
}
public Point getPoint() {
return point;
}
}
你可以为不同的属性使用多个构造函数(但我不确定这最后一种可能性是一种好的技术,因为某些getter可能在名称上有所不同......) 你可以在任何地方检索值,如:
System.out.println(Points.FIRST_POSITION + ", index[" + Points.FIRST_POSITION.getIndex() + "]" + ", position:" + Points.FIRST_POSITION.getPoint());
System.out.println(Points.SECOND_POSITION + ", index[" + Points.SECOND_POSITION.getIndex() + "]" + ", position:" + Points.SECOND_POSITION.getPoint());
System.out.println(Points.THIRD_POSITION + ", index[" + Points.THIRD_POSITION.getIndex() + "]" + ", position:" + Points.THIRD_POSITION.getPoint());
System.out.println(Points.FOURTH_POSITION + ", index[" + Points.FOURTH_POSITION.getIndex() + "]" + ", position:" + Points.FOURTH_POSITION.getPoint());