代码块的优先级:
静态代码块 → 构造代码块 → 构造方法
代码:
public class code优先级 {
static {
System.out.println("我要吃炸鸡");
}
public static void main(String[] args) {
System.out.println("我是main方法");
Student s1 = new Student();
Student s2 = new Student();
}
}
class Student {
/*
* 静态代码块只执行一次
* 位置:在类中成员位置,用{}号括起来,但是要使用static修饰
*/
static {
System.out.println("我是静态代码块");
}
/*
* 构造函数执行一次,构造代码块便执行一次
* 位置:在类中成员位置,用{}号括起来。
*/
{
System.out.println("我是构造代码块");
}
public Student() {
System.out.println("无参构造方法");
{
/*
* 局部代码按上下顺序执行
* 局部代码块在方法中,用{}号括起来。
*/
System.out.println("我是局部代码块");
}
}
}
运行结果:
我要吃炸鸡
我是main方法
我是静态代码块
我是构造代码块
无参构造方法
我是局部代码块
我是构造代码块
无参构造方法
我是局部代码块