0

最近我在准备 Java 面试时遇到了以下定义:

所有可执行代码都在初始化列表或方法中执行。

但据我了解,Java 不支持这里提到的初始化列表

那么为什么当Java不支持初始化列表时,作者给出了像上面这样的定义呢?

4

2 回答 2

1

我不能代表那个作者,但我的理解是,他/她的意思是静态初始化块(或)实例块。有关这些块的更多信息,请参阅本教程

于 2013-09-28T04:19:20.593 回答
0

应该读为“可执行代码应该在初始化块(静态或非静态)、构造函数或方法中

所以如果System.out.println("executable statement")是我们的可执行语句,那么

public class SomeClass{

static{
    System.out.println("executable statement");    
}

{

System.out.println("executable statement");
}

public SomeClass(){

System.out.println("executable statement");
}

public void someMethod(){

System.out.println("executable statement");

}

}

这是有效的代码,而

public class SomeClass{
   System.out.println("executable statement");

}

给出编译器错误

于 2013-09-28T05:06:05.977 回答