码迷,mamicode.com
首页 > 编程语言 > 详细

java中static程序块和构造函数的执行情况

时间:2014-05-09 10:45:09      阅读:309      评论:0      收藏:0      [点我收藏+]

标签:style   blog   class   code   java   ext   

参考博文:http://blog.csdn.net/gxf212/article/details/3510009

bubuko.com,布布扣
class Base {
    static int a = 1;

    public Base() {
        System.out.println(" 55555");
    }

    static {
        System.out.println("Static Base");
    }

    static void method() {
        System.out.println("Base");
    }
}

class Sub extends Base {
    public Sub() {
        System.out.println(" 44444");
    }

    static int b = 2;
    static {
        System.out.println("Static Sub");
    }

}

public class Traversc {
    public static void main(String[] args) {
        Sub sub = new Sub();//先执行父类的构造函数,再执行子类的构造函数
        Sub.method();//调用static程序段,先于构造函数执行,且永远只执行一次
        //Sub.method();
        //System.out.println("a=" + Sub.b);
    }
}
bubuko.com,布布扣

总结:

1.构造函数,父类先执行然后再执行子类

2.static程序块先于构造函数执行,切只执行一次

3.当只单独调用static method方法时,子类的static块和所有的构造函数都不会被执行,只会执行父类的static块

java中static程序块和构造函数的执行情况,布布扣,bubuko.com

java中static程序块和构造函数的执行情况

标签:style   blog   class   code   java   ext   

原文地址:http://www.cnblogs.com/middlesummer/p/3715998.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!