程序中的静态代码块,构造代码块,构造方法的执行顺着,在程序运行是执行几次的问题:
一.几个概念:
1.普通代码块:在方法或语句中出现的{}就称为普通代码块。普通代码块和一般的语句执行顺序由他们在代码中出现的次序决定--“先出现先执行”
2.构造块:直接在类中定义且没有加static关键字的代码块称为{}构造代码块。构造代码块在创建对象时被调用,每次创建对象都会被调用,并且构造代码块的执行次序优先于类构造函数。
3.静态代码块:在java中使用static关键字声明的代码块。静态块用于初始化类,为类的属性初始化。每个静态代码块只会执行一次。由于JVM在加载类时会执行静态代码块,所以静态代码块先于主方法执行。
二:
1.执行顺序:(优先级从高到低。)静态代码块>mian方法>构造代码块>构造方法
2.执行次数:静态代码块只执行一次。构造代码块在每次创建对象是都会执行。 |
|