public class AAA { private int myX = 42; public int getX() { return myX; } public void foo(final int x) { System.out.println(x); System.out.println(getX()); System.out.println(myX); Runnable runnable = new Runnable() { @Override public void run() { System.out.println(x); System.out.println(getX()); System.out.println(myX); } }; } class Nested { int x = myX; void foo() { System.out.println(x); System.out.println(getX()); System.out.println(myX); } } }