以下代码段中的代码正常工作。它使用cnt类型的静态字段创建的对象数量。
public class Main
{
private static int cnt;
public Main()
{
++cnt;
}
public static void main(String[] args)
{
for (int a=0;a<10;a++)
{
Main main=new Main();
}
/*for (int a=0;a<10;a++)
Main main=new Main();*/
System.out.println("Number of objects created : "+cnt+"\n\n");
}
}
它显示以下输出。
Number of objects created : 10
唯一的问题是,当我从上面的for循环中删除一对花括号(参见commented for循环)时,会发出一个编译时错误,指出
not a statement.
为什么在这种特殊情况下,一个大括号是强制性的,即使循环只包含一个语句?