![On Java:中文版·基础卷](https://wfqqreader-1252317822.image.myqcloud.com/cover/337/53256337/b_53256337.jpg)
上QQ阅读APP看书,第一时间看更新
3.4.1 作用域
大多数过程式编程语言具有作用域(scope)的概念。作用域会决定其范围内定义的变量名的可见性和生命周期。C、C++以及Java的作用域范围都是通过大括号({})来定义的,下面是一个Java作用域的例子:
![](https://epubservercos.yuewen.com/F9F485/31727349203472506/epubprivate/OEBPS/Images/58501_64_04.jpg?sign=1739615020-k29IAKTWsteeRoasEMdynyz87u34137b-0-3e49135f8a65d0ebc7d4c85deef47e91)
在作用域里定义的变量只在该作用域的范围内可见。
顺便一提,代码缩进可以提高Java代码的可读性。由于Java是自由形态的编程语言,所以多余的空格、tab缩进、回车符等都不会影响程序的运行效果。
此外,虽然下面的代码对于C和C++而言是合法的,但在Java中不能这样使用:
![](https://epubservercos.yuewen.com/F9F485/31727349203472506/epubprivate/OEBPS/Images/58501_65_01.jpg?sign=1739615020-i1I2VEEvmgOwyJU3UpkUB9h0BmBn29eG-0-7d6aef12d329379a4a8c3e7bfc533aab)
Java编译器会提示说,变量x已经定义过了。因此,类似C和C++那样在外围的作用域中“隐藏”变量的方式在Java中是不被允许的,因为Java的设计者认为这种编程方式会引发歧义。