在Java中,内部类可以直接访问外部类的成员(包括方法和变量),即使它们被声明为私有。要从内部类调用外部类的方法,只需使用外部类名.this来引用外部类实例,然后调用所需的方法。这里有一个示例:
public class OuterClass { private String message = "Hello from OuterClass!"; public void displayMessage() { System.out.println(message); } public class InnerClass { public void callOuterClassMethod() { OuterClass.this.displayMessage(); // 调用外部类的方法 } } public static void main(String[] args) { OuterClass outer = new OuterClass(); OuterClass.InnerClass inner = outer.new InnerClass(); inner.callOuterClassMethod(); // 输出 "Hello from OuterClass!" } }
在这个例子中,我们有一个名为OuterClass
的外部类,它有一个私有字符串变量message
和一个公共方法displayMessage()
。我们还有一个名为InnerClass
的内部类,它有一个方法callOuterClassMethod()
,该方法调用外部类的displayMessage()
方法。在main
方法中,我们创建了OuterClass
和InnerClass
的实例,并通过调用callOuterClassMethod()
方法来调用外部类的方法。