构造器与多态
通常情况下,对象销毁都是由jvm垃圾回收器进行处理,这里只是通过代码展示初始化顺序和清理操作顺序。
父类
Creating1Shared:0Creating2Composing:0Creating2Composing:1Creating2Composing:2Disposing2Composing:0Disposing2Composing:1Disposing2Composing:2Disposing1Shared:0
Creating1Shared:0Creating1Shared:1Creating1Shared:2Creating2Composing:0Creating2Composing:1Creating2Composing:2Disposing2Composing:0Disposing1Shared:0Disposing2Composing:1Disposing1Shared:1Disposing2Composing:2Disposing1Shared:2
初始化顺序是父类优先于子类
销毁反之,子类优先父类
子类是继承父类,那么子类调用父类的成员是很普遍,所以父类的构造器总是在子类构造过程中调用。
按照继承的层次逐渐向上链接,每个基类的构造器都能得到调用。
构造函数是必须的,也就是说构造函数不同于其他函数,它是对象产生的基础,虽然对象可能是不完整的。
更为深层次的理解是为对象及对象属性、方法分配内存空间,只有在内存中存在一席之地,子类调用是才能正常使用。
网友评论