本帖最后由 michael_wlq 于 2015-8-28 10:45 编辑
静态代码块:用于给类进行初始化的。 格式:
static {
//静态代码块中的执行语句 }
特点:随着类的加载而执行,只执行一次,并优先于主函数, 因为主函数是需要jvm来调用的,同理,也优先于对象执行。
执行优先级:静态代码块>构造代码块>特定构造函数。
- class StaticCode {
- int num = 9;
- // 构造函数
- StaticCode() {
- System.out.println("b");
- }
- // 静态代码块,
- static {
- System.out.println("a");// 不可以使用this关键字
- }
- // 构造代码块,用来初始化所有对象,优先于生成特定对象的构造函数执行,且其中可以使用this关键字
- {
- System.out.println("c" + this.num);
- }
- // 带参数的构造函数
- StaticCode(int x) {
- System.out.println("d");
- }
- public static void show() {
- System.out.println("show run");
- }
- }
- class StaticCodeDemo {
- public static void main(String[] args) {
- new StaticCode(4);
- }
- }
复制代码 执行输出结果为:
|
|