在Java中,可以通過將外部變量聲明為final來訪問外部變量。這樣做是因為Java的匿名方法(也稱為lambda表達式)只能訪問final或 effectively final 的外部變量。
以下是一個簡單的示例代碼,演示了如何在Java匿名方法中訪問外部變量:
public class Main {
public static void main(String[] args) {
String message = "Hello, World!";
Runnable r = () -> {
System.out.println(message);
};
r.run();
}
}
在這個例子中,我們聲明了一個String類型的外部變量message,并將其賦值為"Hello, World!"。然后我們創建一個Runnable接口的實例,實現了一個匿名方法,其中訪問了外部變量message。最后,我們調用了這個匿名方法并輸出了message的值。
需要注意的是,雖然在Java匿名方法中可以訪問外部變量,但是在匿名方法中不能修改外部變量的值,因為外部變量必須是final或 effectively final 的。