在Java中,静态代码块、构造代码块、构造函数、普通代码块的执行顺序如下:
- 静态代码块:类中用static和{}定义,随着类的加载而执行,只执行一次,并优先于主函数12。静态代码块是给类初始化的1。
- 构造代码块:类中直接用{}定义,每一次创建对象时执行12。构造代码块是给对象初始化的1。
- 构造函数:类中用和类名相同的方法名定义,每一次创建对象时执行2。构造函数的功能主要用于在类的对象创建时定义初始化的状态2。
- 普通代码块:方法中用{}定义,每一次调用方法时执行2。
执行顺序优先级:静态块 > main() > 构造块 > 构造方法 > 普通代码块12。
以下是一个示例程序和输出结果:
public class Test {
// 静态代码块
static {
System.out.println("静态代码块");
}
// 构造代码块
{
System.out.println("构造代码块");
}
// 构造函数
public Test() {
System.out.println("构造函数");
}
// 普通方法
public void method() {
// 普通代码块
{
System.out.println("普通代码块");
}
}
public static void main(String[] args) {
System.out.println("main方法");
Test t = new Test(); // 创建对象
t.method(); // 调用方法
}
}
输出结果:
静态代码块
main方法
构造代码块
构造函数
普通代码块