普通代码块,构造块,静态代码块的区别

普通代码块:

在方法中用一对花括号圈起来的就是普通代码块

public static void main(String[] args) {
        int a=1;
        /*
         * 普通代码块
         */
        {
            a=2;
            System.out.println("普通代码块");
        }
        System.out.println(a);
    }

构造块:写在类内部,每次调用构造方法的时候都会默认执行构造块。一般构造块中装的是构造多个对象时,通用的属性

构造块使用:

/*
     * 构造块,需要构造对象的时候一些通用的东西
     * 都可以写在下面,比方说通用的属性,参数
     */
    {
        System.out.println("通用构造块");
    }
    
    public Demo09() {
        System.out.println("构造方法一");
    }
    
    public Demo09(int a) {
        System.out.println("构造方法二");
    }
    
    public Demo09(int a,int b){
        System.out.println("构造方法三");
    }
    
    public static void main(String[] args) {
        new Demo09();
        new Demo09(1);
        new Demo09(1,2);
    }

普通代码块,构造块,静态代码块的区别

静态代码块:写在类里面方法外面,花括号前面用static修饰,静态代码块在编译的过程中只执行一次,如下图

普通代码块,构造块,静态代码块的区别

个人理解,若有错误,请各位评论指出!