我知道当我创建一个实例静态块时首先初始化然后代码块然后构造函数在这里我的代码
public class Main{
public Main() {
out.println("constructor initialised");
}
static {
out.println("static block initialised");
}
{
out.println("Code block initialised");
}
public static void main(String... args) {
new Main();
}
}
Run Code Online (Sandbox Code Playgroud)
像这样输出
静态块初始化
代码块初始化
构造函数初始化
上面的输出清除了我的概念,但是当我扩展这样的类时
public class Main extends Bear{
public Main() {
out.println("constructor initialised");
}
static {
out.println("static block initialised");
}
{
out.println("Code block initialised");
}
public static void main(String... args) {
new Main();
}
}
Run Code Online (Sandbox Code Playgroud)
熊类
class Bear{
static {
out.println("static block initialised of bear class");
} …
Run Code Online (Sandbox Code Playgroud)