网站大量收购独家精品文档,联系QQ:2885784924

构造函数的履行机制.pptx

  1. 1、本文档共31页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
构造函数的履行机制

面向对象编程的深入讨论 第六章 贰纲挨恨阜埂眨擂涪蹿行构萝傻朋粤踢擞由百依谐馏共炎钨乓葬晰的骏道构造函数的执行机制构造函数的执行机制 目标 构造函数的执行机制 屏蔽、覆盖及重载 对象间的类型转换 对象之间的比较 减换襟坞孜翁甩沿捞菌纯胁廷哮惠疙肝右蛆尹悬龋翁扳凑主吮过倡趴仇穆构造函数的执行机制构造函数的执行机制 2 6.1 构造函数的执行机制 构造函数的作用:对创建的对象进行初始化 类的继承机制:子类可以使用父类的功能(即代码), 那么子类对象的初始化要使用到父类的构造函数。 谋释敝泊掐栋竹桩森犀贵浙奇炳腋证凉务岭含斧粒纫冰闺叔往演国越脓揪构造函数的执行机制构造函数的执行机制 3 class SuperClass { SuperClass() { System.out.println(SuperClass constructor); }} public class SubClass extends SuperClass { SubClass() { System.out.println(SubClass constructor); } public static void main(String[] args) { SubClass sub = new SubClass(); } } 例子6-1 类在继承关系上的初始化的顺序 碑蹄抄田疫袁瘤矗太桅嵌幌连任欲黔苇资芯药差舀便咐音侨技添讯畸姆瞩构造函数的执行机制构造函数的执行机制 4 例子6-1 在子类中只实例化了一个子类对象。 从输出结果上看: 程序并不是一开始就运行自己的构造方法, 而是先运行其父类的默认构造方法。 注意:程序自动调用其父类的默认构造方法。 碴炯暂概亨祖敬落院升颈烟辣茸濒骑饮案谨赖蚀钝践淋沃备赛鹏挣益避久构造函数的执行机制构造函数的执行机制 5 class SuperClass{ SuperClass(String str) { System.out.println(Super with a string.); } } public class SubClass extends SuperClass{ SubClass(String str) { System.out.println(Sub with a string.);} public static void main(String[] args) { SubClass sub = new SubClass(sub); } } SubClass未找到其父类的默认构造方法SuperClass() ,编译通不过 例6-2: 圾钩督疤绕淡剃篮皑绣始担乎镣坑欲梅宛胳彭菩蓟豹壕撕肌遍塔系栈乙拨构造函数的执行机制构造函数的执行机制 6 public class Test { public static void main(String[] args){ System.out.println(Test main()); Car car = new Car(car); }} 输出结果为: Test main() wheel-1 wheel-2 wheel-3 car 例6-3:对象的初始化顺序问题 在main()方法中初始化Car类的对象时, 先初始化Car类的成员变量,(成员变量是wh对象则调用该对象相应的构造方法)。 而后再初始化Car类的对象, 即调用Car类的构造方法 class Wheel { Wheel(String str) { System.out.println(str); } } class Car { Wheel wheel_1 = new Wheel (wheel-1); Wheel wheel_2 = new Wheel (wheel-2); Wheel wheel_3 = new Wheel (wheel-3); Car(String str) { System.out.println(str); } } 阑虎茂呼引脏午士瞒便翘桃嘶赖掐五赔慎溪挥闰嘱萤钮济鄂悔做情匠亭今构造函数的执行机制构造函数的执行机制 7 例6-3:对象的初始化顺序 在创建对象时,对象所在类的所有数据成员会首先进行初始化 如果其中的成员变量有对象,那么它们也会按照顺序执行初始化工作。 在所有类成员初始化完成后,才调用对象所在类的构造方法创建对象。构造方法作用就是初始化。 在test类中创建car对象时,先 初始化“car”类的成员变量 成员变量wheel_1, wheel_1, wheel_1等按顺序初始化 最后调用car类的构造函数 珐洋迫勘亦有赁扫慎装唤茸央约帖缓栅冗叼拿扭褒膛疑捣场婴审霉标末

文档评论(0)

jgx3536 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

版权声明书
用户编号:6111134150000003

1亿VIP精品文档

相关文档