下面的代码是否有错误?()<br /> If (true)  { <br /> String  var2=”变量2”;<br /> System .out.println(var2); } <br /> String  var2=”变量2B”; <br /> System .out.println(var2); 
A、正确,尽管变量var2定义了两次,但程序自动将它们看成一个变量;
B、正确,前面出现的变量var2有效期仅在if中,不会与后面的变量var2重叠 ;
C、错误,if 块中的变量var2有效期从这里直到函数结束,因此会出现变量重叠;
D、错误,不管变量在哪里定义,它们都会在函数入口处初始化,因此会出现变量重叠;