最近,我在准备Java面试时遇到了以下定义:
所有可执行代码都在初始化列表或方法中执行。
但据我了解,Java不支持初始化列表,如here
所述那么为什么当Java不支持初始化列表时,作者给出了如上所述的定义?
答案 0 :(得分:1)
我不能代表那位作者,但我的理解是,他/她意味着静态初始化块(或)实例块。有关这些块的更多信息,请参阅this tutorial。
答案 1 :(得分: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");
}
给出编译器错误