java中在创建对象时候的初始化顺序(二)
? ?如果对执行顺序不是很理解的童鞋,建议先看我的第一篇文章
? ?在上一篇《java中在创建对象时候的初始化顺序》中大致的介绍了在继承,多态等情况下,对象大致的初始化顺序。这节讲讲一些特殊的情况,特别是和构造器结合起来,在构造器中调用一些方法的时候,出现的现象。我们先看例子(内容出自《think in java》300-301页)。
? ? A类--父类
貌似你的 TExtend 没有继承A,你试试继承了之后的效果,谢谢你的评论哦 6 楼 flyfy1 2012-02-28 呵呵,囧了~~是啊我忘记写Extend了??:) 7 楼 lvjun106 2012-02-28 呵呵。试试把i换成static类型试试。
所以还要特别注意类初化时,类中的static变量。它是首次加载的。 8 楼 len-len 2012-02-29 7楼说的不错,如果换成static,根据第一篇文章讲述的,静态对象总是在第一次使用类的静态对象和创建对象的时候调用。并且是在其他非静态对象和构造器之前初始化的,所以当调用父类的构造器的时候,i已经初始化完毕,不在是,默认值,所以不会是0。