In Java, it's possible to define anonymous inner classes within outer classes. These inner classes can access members of the outer class, including methods and fields.
Accessing Outer Class Methods
To access a method from the outer class within an anonymous inner class, use the OuterClassName.this syntax. This allows you to refer to the enclosing instance of the outer class.
Example
Consider the following code snippet:
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 } }); } }
In this example, the anonymous inner class InnerClass defined within the method() method can access the otherMethod() method of the enclosing OuterClass. This is done using the OuterClass.this syntax.
Note: The OuterClassName.this syntax can also be used to access fields of the outer class within anonymous inner classes.
The above is the detailed content of How can I access outer class methods from an anonymous inner class in Java?. For more information, please follow other related articles on the PHP Chinese website!