java变量的作用域
1.Java用一对大括号作为语句块的范围,称为作用域。
2.作用域中的变量不能重复定义。
3.离开作用域,变量所分配的空间将被JVM回收。
示例1:这是没有问题的。
public class Main {
public static void main(String[] args) {
{
String name="张飞";
System.out.println(name);
}
String name="王菲";
System.out.println(name);
}
}
示例2:这是有问题的
public class Main {
public static void main(String[] args) {
String name="王菲";
System.out.println(name);
{
String name="张飞";
System.out.println(name);
}
}
}
分析作用域代码块,示例1的{}中的name执行后被释放了,所以不会存在问题。
示例2中的name还没被释放,{}中就又出现了name,因而编译器会报错。