大大都措施设计语言都提供了“浸染域”(Scope)的观念。对付在浸染域里界说的名字,浸染域同时抉择了它的“可见性”以及“存在时间”。在C,C++和Java里,浸染域是由花括号的位置抉择的。参考下面这个例子:
{ int x = 12; /* only x available */ { int q = 96; /* both x & q available */ } /* only x available */ /* q “out of scope” */ }
作为在浸染域里界说的一个变量,它只有在谁人浸染域竣事之前才可利用。
在上面的例子中,缩进排版使Java代码更易辨读。由于Java是一种形式自由的语言,所以特另外空格、制表位以及回车都不会对功效措施造成影响。
留意尽量在C和C++里是正当的,但在Java里不能象下面这样书写代码:
{ int x = 12; { int x = 96; /* illegal */ } }
编译器会认为变量x已被界说。所以C和C++能将一个变量“埋没”在一个更大的浸染域里。但这种做法在Java里是不答允的,因为Java的设计者认为这样做使措施发生了夹杂。