日期:2014-05-20  浏览次数:20610 次

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; } 里面 

------解决方案--------------------
看看变量定义在那个大括号内的({})。最外层的作用域越大,到内层后作用域变小。并且在外层已经定义好的变量,在内层不能够再次被定义,只能够赋值操作!