我正在玩一些java来更好地感受范围.我写了下面这段代码:
public class Scope {
static int [] arr = { 10 };
static final int num = 5;
public static void manipulate(int[] arr, int num) {
num = arr[0] + 10;
arr[0] = num;
}
public static void main(String [] args) {
manipulate(arr, num);
System.out.println("arr[0] = "+ arr[0]);
System.out.println("num = "+num);
}
}
Run Code Online (Sandbox Code Playgroud)
即使num被声明为static而且最终我能够在操作方法中更改其值.只是寻找一些澄清,因为我不认为我能够改变这一点.