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