Почему переменные, передаваемые в runnable, должны быть окончательными?
Если у меня есть переменнаяint x = 1
скажем, и я объявляю работоспособный объект в главном потоке, и я хочу передать x исполняемому объектуrun()
метод, он должен быть объявленfinal
, Зачем?
final int x = 0;//<----must be final...
private class myRun implements Runnable {
@Override
public void run() {
x++;//
}
}