在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
方法中,我們創(chuàng)建了OuterClass
和InnerClass
的實例,并通過調用callOuterClassMethod()
方法來調用外部類的方法。