美文网首页
构造器与多态

构造器与多态

作者: 莫逐 | 来源:发表于2017-09-22 10:59 被阅读0次

    构造器与多态

    通常情况下,对象销毁都是由jvm垃圾回收器进行处理,这里只是通过代码展示初始化顺序和清理操作顺序。

    父类  

    子类

    测试代码

    测试结果

    运行sharedTest结果如下:

    Creating1Shared:0Creating2Composing:0Creating2Composing:1Creating2Composing:2Disposing2Composing:0Disposing2Composing:1Disposing2Composing:2Disposing1Shared:0

    运行sharedesTest结果如下:

    Creating1Shared:0Creating1Shared:1Creating1Shared:2Creating2Composing:0Creating2Composing:1Creating2Composing:2Disposing2Composing:0Disposing1Shared:0Disposing2Composing:1Disposing1Shared:1Disposing2Composing:2Disposing1Shared:2

    结论

    初始化顺序是父类优先于子类

    销毁反之,子类优先父类

    分析原因

    子类是继承父类,那么子类调用父类的成员是很普遍,所以父类的构造器总是在子类构造过程中调用。

    按照继承的层次逐渐向上链接,每个基类的构造器都能得到调用。

    构造函数是必须的,也就是说构造函数不同于其他函数,它是对象产生的基础,虽然对象可能是不完整的。

    更为深层次的理解是为对象及对象属性、方法分配内存空间,只有在内存中存在一席之地,子类调用是才能正常使用。

    相关文章

      网友评论

          本文标题:构造器与多态

          本文链接:https://www.haomeiwen.com/subject/ojrthxtx.html