代码块优先级问题

代码块的优先级:
静态代码块 → 构造代码块 → 构造方法
代码:

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方法
我是静态代码块
我是构造代码块
无参构造方法
我是局部代码块
我是构造代码块
无参构造方法
我是局部代码块

猜你喜欢

转载自blog.csdn.net/My_CODEart/article/details/78840009