![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=1739560043-yEs5P1okkY5OGzqdjUvKvnu1ZELcUMqp-0-e01b8493b9f7179842c008af487479ee)
在作用域里定义的变量只在该作用域的范围内可见。
顺便一提,代码缩进可以提高Java代码的可读性。由于Java是自由形态的编程语言,所以多余的空格、tab缩进、回车符等都不会影响程序的运行效果。
此外,虽然下面的代码对于C和C++而言是合法的,但在Java中不能这样使用:
![](https://epubservercos.yuewen.com/F9F485/31727349203472506/epubprivate/OEBPS/Images/58501_65_01.jpg?sign=1739560043-flhcSa9LOL4qTGxPCGFHnJlI5LfqCo73-0-b1893c2d4ca4e17f7fc6e5447f06af30)
Java编译器会提示说,变量x已经定义过了。因此,类似C和C++那样在外围的作用域中“隐藏”变量的方式在Java中是不被允许的,因为Java的设计者认为这种编程方式会引发歧义。