public class Scope {
PRivate static int x=1;
public static void main(String[] args) {
int x=5;
System.out.println("mian方法中的局部变量X="+x);
useLocalVarible();
sueField();
System.out.println("最终X在main方法内的值="+x);
}
private static void useLocalVarible() {
int x =25;
System.out.println("进入局部方法useLocalVarible中X="+x);
++x;
System.out.println("退出方法之前变量X="+x);
}
private static void sueField() {
System.out.println("局部方法没有声明X,此时X="+x);
x*=10;
System.out.println("在局部方法中运算之后X="+x);
}
}
很多初学者对变量的作用域搞不懂,我通常举例说你在你村里,大家叫你狗蛋,在村里这么叫你,大家都知道是你,但是出了村子,说狗蛋就没人知道了。又或者在别的村子也有一个人叫做狗蛋,别人在谈论的狗蛋就不再是你,又或者在县里有一个大名鼎鼎的人小名叫狗蛋,这时候别人谈论狗蛋就不在是你或者隔壁村的狗蛋了。但是很多人还是不能理解变量的作用域,这是摘自《javaSE8 for programming》一书中的例子,希望对作用域的理解有所帮助。