【Java基础】代码块,构造代码块,静态代码块

代码块

public class Demo {

    public static void main(String[] args){
        {
            int a = 1;
            System.out.println(a);
        }
        int a = 2;
        System.out.println(a);
    }
}

运行结果

1

2

构造代码块

放在要创建对象的类中的代码块,称为构造代码块。构造代码块与构造方法先后顺序无关,首先调用构造代码块,然后调用构造方法

class A {

    public A(){
        System.out.println("调用了构造方法");
    }

    {
        System.out.println("调用了构造代码块");
    }

}

public class Demo {

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

运行结果

调用了构造代码块
调用了构造方法
调用了构造代码块
调用了构造方法

扫描二维码关注公众号,回复: 3654470 查看本文章

静态代码块

静态代码块优先于构造代码块执行,且无论创建多少对象,一个静态代码块只会被调用一次

class A {

    public A(){
        System.out.println("调用了构造方法");
    }

    {
        System.out.println("调用了构造代码块");
    }

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

}

public class Demo {

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

运行结果:

调用了静态代码块
调用了构造代码块
调用了构造方法
调用了构造代码块

调用了构造方法

猜你喜欢

转载自blog.csdn.net/guo_ridgepole/article/details/80673072