Dlaczego zmienne przekazywane do runnable muszą być ostateczne?
Jeśli mam zmiennąint x = 1
powiedzmy, a ja deklaruję runnable w głównym wątku i chcę przekazać x do runnablerun()
metoda musi zostać zadeklarowanafinal
. Czemu?
final int x = 0;//<----must be final...
private class myRun implements Runnable {
@Override
public void run() {
x++;//
}
}