{
int x = 12; // 僅 x 可用
{
int q = 96; // x、q 均可用
} // q 結束生命週期
} // x 結束生命週期
// C/C++ 合法,Java 非法
{
int x = 12;
{
int x = 96; // 編譯錯誤!變數 x 已在外層定義
}
}
Java 設計者認為遮蔽造成程式混淆,編譯器直接拒絕。
{ ... } 限制變數生命週期