当我运行下面的代码时,它给我编译时错误。循环中的局部变量声明
public class Test {
public static void main(String[] args) {
for (int i = 0; i < 100; i++)
Test2 obj = new Test2();// Compile time error- Multiple markers at this line
System.out.println(Test2.numCreated());
}
}
class Test2 {
private static long number= 0;
public static long numCreated() {
return number;
}
}
但是,当我一个块中把局部变量声明声明Test2 obj= new Test2()
直接每一件事工作正常。
有人可以解释我身后这个原因,或者为什么Java开发人员做的?
只是想指出的是,编译时错误是'Test.java:4:错误:没有here'允许变量声明(指着测试obj)。 – Linuslabo