若在外部作用域内已经声明了变量,那么不可以在内部作用域声明与之同名的变量,否则会出现编译时异常。原因是Java并没有像C和C++那样在外部作用域中屏蔽内部作用域的变量。如下面的代码
{ int x = 5; { int x =3; } }
{ { int x =3; } int x = 5; } 这样定义是可以的
2楼的可以是因为x在下一次定义前已经出作用域了,别重复用最好
Sign in to make a reply
Reason
若在外部作用域内已经声明了变量,那么不可以在内部作用域声明与之同名的变量,否则会出现编译时异常。原因是Java并没有像C和C++那样在外部作用域中屏蔽内部作用域的变量。如下面的代码