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);
}
}
总结:执行优先级:静态代码块 > main方法 > 构造代码块 > 构造方法