
上QQ阅读APP看书,第一时间看更新
3.4.1 作用域
大多数过程式编程语言具有作用域(scope)的概念。作用域会决定其范围内定义的变量名的可见性和生命周期。C、C++以及Java的作用域范围都是通过大括号({})来定义的,下面是一个Java作用域的例子:

在作用域里定义的变量只在该作用域的范围内可见。
顺便一提,代码缩进可以提高Java代码的可读性。由于Java是自由形态的编程语言,所以多余的空格、tab缩进、回车符等都不会影响程序的运行效果。
此外,虽然下面的代码对于C和C++而言是合法的,但在Java中不能这样使用:

Java编译器会提示说,变量x已经定义过了。因此,类似C和C++那样在外围的作用域中“隐藏”变量的方式在Java中是不被允许的,因为Java的设计者认为这种编程方式会引发歧义。