javaSE-代码块

构造代码块

构造代码块在对象创建时于构造函数前执行,且每次对象被创建时都会执行。

public class CodeBlockTest {

//    static
//    {
//        System.out.println("静态代码块被调用");
//    }

    {
        System.out.println("代码块被调用");
    }

    public CodeBlockTest() {
        System.out.println("构造函数被调用");
    }

}

public class Main {
    public static void main(String[] args) {
        new CodeBlockTest();
        new CodeBlockTest();
    }
}

//代码块被调用
//构造函数被调用
//代码块被调用
//构造函数被调用

静态代码块

静态代码块在类加载时就会调用,先于代码块。

public class CodeBlockTest {

    static
    {
        System.out.println("静态代码块被调用");
    }

    {
        System.out.println("代码块被调用");
    }

    public CodeBlockTest() {
        System.out.println("构造函数被调用");
    }

    public static void main(String[] args) {

    }

}

//静态代码块被调用


public class CodeBlockTest {

    static
    {
        System.out.println("静态代码块被调用");
    }

    {
        System.out.println("代码块被调用");
    }

    public CodeBlockTest() {
        System.out.println("构造函数被调用");
    }

    public static void main(String[] args) {
        new CodeBlockTest();
    }

}

//静态代码块被调用
//代码块被调用
//构造函数被调用
posted @ 2022-04-29 11:36  clearHeart99  阅读(20)  评论(0编辑  收藏  举报