常数类的重要性

时间:2011-09-30 09:43:45

标签: java

如果我将常量变量值直接放在类中,当此值发生变化时会发生混乱。 如果我创建一个常量类来保持这样的常量,那么它只能在一个类中进行更改。但是我需要确定所有使用这些常量的类。因为需要重新编译。

然后需要单独的常量类? 建议我另一种管理常数的方法,如果更好的话。

3 个答案:

答案 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());