충분히 쌓여가는
9.5 바깥 멤버 접근 - this 본문
중첩 클래스 내부에서 this는 해당 중첩 클래스의 객체를 말한다
만약 중첩 클래스 내부에서 바깥 클래스의 객체를 얻으려면 바깥 클래스 이름에 this를 붙여주면 된다
package ch09.sec05.exam02;
public class A {
String field = "A-field";
void method() {
System.out.println("A-method");
}
class B {
String field = "B-field";
void method() {
System.out.println("B-method");
}
void print() {
//B 객체의 필드와 메소드 사용
System.out.println(this.field);
this.method();
//A 객체의 필드와 메소드 사용
System.out.println(A.this.field);
A.this.method();
}
}
void useB() {
B b = new B();
b.print();
}
}
package ch09.sec05.exam02;
public class AExample {
public static void main(String[] args) {
A a = new A();
a.useB();
}
}
B-field
B-method
A-field
A-method
'이것이 자바다 > 09 중첩 선언과 익명 객체' 카테고리의 다른 글
9.5 바깥 멤버 접근 (0) | 2024.04.04 |
---|---|
9.4 로컬 클래스 - 로컬 변수의 final (0) | 2024.04.04 |
9.2 인스턴스 멤버 클래스 (0) | 2024.04.04 |
9.1 중첩 클래스 (0) | 2024.04.04 |
이것이 자바다 9장 확인 문제 (0) | 2024.02.05 |