【发布时间】:2015-07-08 08:46:14
【问题描述】:
我正在开发我的第一个 Android 应用程序,该应用程序来自学校 2 年的 C++。
代码如下所示:
double total = 100000000000L;
for(long i = 0L; i < diff; i++) {
total += 1.8;
}
countView.setText(NumberFormat.getInstance().format(total));
final Handler handler = new Handler();
handler.postDelayed(new Runnable() {
@Override
public void run() {
if (total += 1.8 < 200000000000L) {
handler.postDelayed(this, 1000L);
return;
}
handler.removeCallbacks(this);
}
}, 1000L);
在 C++ 中,我可以重用总变量没有问题 - 它在同一个范围内。但是在 Java 中,我收到一条错误消息,提示我正在尝试访问内部类。尝试将 total 声明为 public 或 static 会出现此处不允许使用修饰符的错误。
为什么我可以在我声明的地方使用 total ,但不能在下面几行使用?
【问题讨论】:
-
您的
total到底在哪几行?你没有包括那个吗? -
docs.oracle.com/javase/tutorial/java/javaOO/… ... 当然
total可能是外部类中的一个字段,一切都应该没问题.. 编辑:是的,正如@Codebender 所写,我们不知道你在哪里声明@987654326 @ 在方法中?或作为一个字段(当然不是,但这只是假设) -
total 声明在顶部,并在 run 函数的 if 语句中使用