首先说明一下局部变量的作用域:从声明开始,到方法的结束为止。
在声明变量时,允许局部变量和成员变量同名,或者不同方法内各自的局部变量可以同名,但是不允许在同一方法内声明同名的局部变量(包括参数变量)
。当局部变量与成员变量同名时,会发生“局部变量隐藏字段”的现象。例如:
public class Example{
private String message = "hello";
public void printMsg(){
String message = "world";
System.out.println(message);
}
public void printMessage(){
System.out.println(message);
}
public static void main(String[] args){
Example example = new Example();
Example.printMsg();
Example.printMessage();
}
}
输出结果:
world
hello