启动应用程序后,我仅需要设置几个变量,而无需再次设置,例如SCREEN_WIDTH,ARRAY_X_LENGTH,TIME_APP_STARTED等。
我不会声明这些最终值,因为软件将决定要分配给它们的值,而不是手动确定。不过,我将单词大写,以便可以看到没有其他代码为其分配任何值,只有1。
这是不好的编程习惯吗,如果是的话,我该怎么办,我通常只有一个包含所有这些“最终”变量和我的标志的文件,我不喜欢将它们存储在本地。
答案 0 :(得分:1)
public class myClass{
final int screenWidth;
final int arrayXLength;
final int timeAppStarted;
public myClass(){
screenWidth = getScreenWidth();
arrayXLength = arrayX.length;
timeAppStarted = getTime();
}
}
没问题-您可以在构造函数中为其分配适当的值。
注意:这些将被分配一个默认值,因此您可能要检查是否已进行了正确的分配。您也可以声明为Integer而不是原始数据类型int。
答案 1 :(得分:1)
您最好的选择是将这些变量标记为final
。 Java中的final
关键字表示该变量只能在应用程序启动后初始化一次。
请注意,如果在声明变量时未初始化final
变量,则可以在代码中对其进行初始化的唯一位置是在静态块,实例初始化器块或构造函数中。