代码:
static{
System.out.println("静态方法");
}
MainTest(){
System.out.println("构造函数");
}
{
System.out.println("构造块1");
}
{
System.out.println("构造块2");
}
void go(){
System.out.println("go1");
{
System.out.println("go-1");
}
System.out.println("go2");
{
System.out.println("go-2");
}
}
public static void main(String[] args) {
new MainTest();
System.out.println("----");
new MainTest().go();
}
执行结果:
静态方法
构造块1
构造块2
构造函数
----
构造块1
构造块2
构造函数
go1
go-1
go2
go-2
先加载static静态块,而且只加载一次。再执行构造块,最后执行无参构造方法。方法中也可以使用大括号{},方法中的{}含义个人觉得只是增加阅读性而已没有发现有其它意义。
本文详细解析了Java中静态块、构造块及构造方法的执行顺序,并通过具体代码示例展示了这些不同类型的初始化代码是如何被执行的。理解这些概念有助于更好地掌握Java对象创建过程。
1621

被折叠的 条评论
为什么被折叠?



