Java에서는 외부 클래스 내에 익명 내부 클래스를 정의하는 것이 가능합니다. 이러한 내부 클래스는 메서드 및 필드를 포함하여 외부 클래스의 멤버에 액세스할 수 있습니다.
외부 클래스 메서드 액세스
익명 내부 클래스 내 외부 클래스의 메서드에 액세스하려면 클래스의 경우 OuterClassName.this 구문을 사용하세요. 이를 통해 외부 클래스의 바깥쪽 인스턴스를 참조할 수 있습니다.
예
다음 코드 조각을 고려하세요.
public class OuterClass { public void otherMethod() {} // Method in outer class public void doStuff(String str, InnerClass innerClass) {} public void method() { doStuff("asd", new InnerClass() { public void innerMethod() { OuterClass.this.otherMethod(); // Calls the outer class method } }); } }
여기서 예를 들어, method() 메서드 내에 정의된 익명 내부 클래스 InnerClass는 해당 메서드의 otherMethod() 메서드에 액세스할 수 있습니다. OuterClass를 포함합니다. 이는 OuterClass.this 구문을 사용하여 수행됩니다.
참고: OuterClassName.this 구문은 익명 내부 클래스 내의 외부 클래스 필드에 액세스하는 데에도 사용할 수 있습니다.
위 내용은 Java의 익명 내부 클래스에서 외부 클래스 메서드에 어떻게 액세스합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!