JAVA变量作用域问题
//This is program will not compile
class Scopeerr {
public static void main(String args[]){
int bar = 1;
{
int bar = 2;
}
}
}
这里面的bar是什么意思?
------解决方案--------------------这样编译不会通过的,重复的变量定义
------解决方案--------------------不能重复定义变量
------解决方案--------------------这样是编译不过去的,不能重复定义变量,作用域就是这变量的作用范围,变量是先声明后使用
class Scopeerr {
public static void main(String args[]){
int bar = 1;
{
int bar1 = 2;
}
}
}
象bar的作用域 是在总个main
象bar1的作用域 是在{ int bar1 = 2; } 里面
------解决方案--------------------看看变量定义在那个大括号内的({})。最外层的作用域越大,到内层后作用域变小。并且在外层已经定义好的变量,在内层不能够再次被定义,只能够赋值操作!