package modernjavainaction.chap02;


public class MeaningOfThis {


public final int value = 4;


public void doIt() {

int value = 6;

Runnable r = new Runnable() {

public final int value = 5;

@Override

public void run() {

int value = 10;

System.out.println(this.value);

}

};

r.run();

}


public static void main(String... args) {

MeaningOfThis m = new MeaningOfThis();

m.doIt(); // ???

}


}

이 코드에서 this가 왜 run을 참조하지 않고 Runnable을 참조한다는데.. 이해가 안가요