【发布时间】:2016-05-14 09:09:52
【问题描述】:
我进退两难,因为我不知道什么是更好的解决方案。我有一个静态变量。
我想知道声明这些变量的最佳做法是什么。 假设我在 myStatic 类中有这样一个变量。
public class myStatic(){
public static int integer = 0;
/* get value */
public int getInteger() {
return integer;
}
/* set value */
public void setInteger(int nInteger) {
integer = nInteger;
}
}
现在我必须增加或减少这个变量。 如何正确操作?
1)
myStatic.integer++;
2)
myStatic mystatic = new myStatic();
int integer = mystatic.getInteger();
int nInteger = integer+1;
mystatic.setInteger(iInteger);
使用解决方案 1 或 2 更好吗?
【问题讨论】:
-
只是我的两分钱,因为我从未在硬混凝土中见过这是首选,但一般来说,在我的个人代码中,我直接访问静态变量而不是使用 getter 和 setter。阅读我的代码时,如果我正在使用静态变量或不使用静态变量,它往往会让我更容易阅读。
-
他们在这里基本上都在做同样的事情。虽然如果你打算通过选项 2 来做,那么真的不需要一个整数是静态的。
-
最好完全避免静态;你的项目越大,你就越讨厌静态变量。
-
这不是使用静态变量的好例子。单例似乎更适合您的情况。
-
你能告诉我为什么吗?
标签: java android static global-variables static-methods