interface Foo { private void bar() { new Runnable() { @Override public void run() { System.out.println(Foo.this); } }; } default void bar1() { new Runnable() { @Override public void run() { System.out.println(Foo.this); } }; } static void bar2() { new Runnable() { @Override public void run() { System.out.println(Foo.this); } }; } int getX(); int x = this.getX(); }