不能引用在其他方法中定义的内部类中的非最终变量
已编辑:我需要更改多个变量的值,因为它们通过计时器运行多次。我需要通过计时器在每次迭代时不断更新值。我无法将值设置为 final,因为这将阻止我更新值,但是我遇到了在下面的初始问题中描述的错误:
我以前写过下面的内容:
我收到错误“无法引用在不同方法中定义的内部类中的非最终变量”。
这发生在称为 price 的双倍和称为 priceObject 的价格中。你知道我为什么会遇到这个问题吗?我不明白为什么我需要有一个最终声明。另外,如果你能看到我正在尝试做什么,我必须做些什么来解决这个问题。
public static void main(String args[]) {
int period = 2000;
int delay = 2000;
double lastPrice = 0;
Price priceObject = new Price();
double price = 0;
Timer timer = new Timer();
timer.scheduleAtFixedRate(new TimerTask() {
public void run() {
price = priceObject.getNextPrice(lastPrice);
System.out.println();
lastPrice = price;
}
}, delay, period);
}