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을 참조한다는데.. 이해가 안가요
패키지명보니깐 모던 자바인액션 공부하는것같은데, 기초문법부터 공부하길 바람.
run은 메소드잖아요 this는 객체를 가르키는거고
앗.. 그러네요.. 후 기초 다시한번 하고와야겠습니다. 감사합니다
google에서 java this라고 치면 나오는 블로그 인용 자바에서 this 는 인스턴스 자기 자신을 가리키는 키워드! Runnable r 이라는 객체를 만들고 r객체에 value =5; 라고 대입함 해당 scope 내에 this는 객체 r이므로 this.value는 5 저도 뉴비라 틀린 부분이 있을지도 모릅니다..
익명 클래스를 만드는 부분인데 흑흑 제가 멍청햇습니다 감사합니다