java中代码块的理解

 


public class Demo1{
    static{
        System.out.println("我爱java,我要学习");
    }
    public static void main(String[] args) {
        {
            int a=14;
            System.out.println(a);
        }
        System.out.println("--------我是分割线---------");
        Demo2 demo1=new Demo2();
        
        System.out.println("--------我是分割线---------");
        Demo2 demo2=new Demo2();
        
        System.out.println("--------我是分割线---------");
        Demo2 demo3=new Demo2();
        
    }
}

 class Demo2{
     static{
         int a=100;
         System.out.println("静态代码块类:"+a);
     }
     {
         int a=10;
         System.out.println("构造代码块"+a);
     }
     public Demo2(){
         System.out.println("构造方法");
     }
     {
         int a=20;
         System.out.println("构造代码块"+a);
     }
     static{
         int a=200;
         System.out.println("静态代码块"+a);
     }
    
}

java中代码块的理解

总结:执行优先级:静态代码块 > main方法 > 构造代码块 > 构造方法