Home  >  Article  >  Java  >  How can I access outer class methods from an anonymous inner class in Java?

How can I access outer class methods from an anonymous inner class in Java?

Linda Hamilton
Linda HamiltonOriginal
2024-11-10 21:26:02169browse

How can I access outer class methods from an anonymous inner class in Java?

Accessing Outer Class Methods from Anonymous Inner Classes

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!

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn