首页 > 代码库 > java中static程序块和构造函数的执行情况
java中static程序块和构造函数的执行情况
参考博文:http://blog.csdn.net/gxf212/article/details/3510009
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); } }
总结:
1.构造函数,父类先执行然后再执行子类
2.static程序块先于构造函数执行,切只执行一次
3.当只单独调用static method方法时,子类的static块和所有的构造函数都不会被执行,只会执行父类的static块
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。