1.JAVA中作用范圍是禁止嵌套的
在Java中,在方法(函數)內定義的變量,其作用范圍(包括方法的參數)是從它定義的地方開始,到它所作用范圍終結的位置結束。也就是說如果你在方法開始的時候就定義了一個變量x,那么直到這個方法結束就不能再定義另一個同名的變量x。如下所示就是一個錯誤的定義:
public static void fun(){
int x=1;
{
int x=2;//編譯錯誤:和{}外的變量x的作用域重疊
System.out.println("x=" + x);
}
}
2. Java中類與方法中變量作用域可以嵌套的
在Java中,類與方法之間作用域是可以嵌套的,可以把整個類看做一個大的作用域,它定義的字段(或稱數據成員)可被方法中的同名字段所屏蔽。下面的例子說明了這個情況:
package Demo;
public class Demo01 {
public static void main(String args[]){
int x=1;
System.out.println("x=" + x);
}
static int x=2;
}