Java开发网 |
注册 |
登录 |
帮助 |
搜索 |
排行榜 |
发帖统计
|
您没有登录 |
» Java开发网 » Java SE 综合讨论区
打印话题 寄给朋友 订阅主题 |
作者 | Re:一道csjp题目 [Re:gutxgc] |
tomcatexpert
发贴: 52 积分: 2 |
于 2006-05-14 03:38
Constructor的执行顺序是 1. Call this() or super (),一层层叫上去,直到Object为止 2. 执行所有member attributes 的赋值. 3. 执行Constructor 内部的Code 所以,本题中当Mobile被建立时,顺序是这样的 1. Phone () 2. String device = "Mobile.device"; // Mobile 类 3. Mobile() 里面的代码 具体结果就是: 1. Phone()被呼叫时,Mobile 类的device还没被赋值,而Phone() 里的showDevice() 被Overriden,所以打印结果是 Mobile.showDevice,null 2. Mobile类的device被赋值 3. 此时再执行Mobile() 里的showDevice(),效果和在main() 方法使用n.showDevice()一样,各打印一个Mobile.showDevice,Mobile.device 推荐阅读:Thinking in Java 一个程序员的奋斗历程 |
话题树型展开 |
人气 | 标题 | 作者 | 字数 | 发贴时间 |
8790 | 一道csjp题目 | gutxgc | 936 | 2006-05-13 11:57 |
7304 | Re:一道csjp题目 | tomcatexpert | 508 | 2006-05-14 03:38 |
6836 | Re:一道csjp题目 | gutxgc | 54 | 2006-05-14 11:12 |
7491 | Re:一道csjp题目 | hong_sea | 493 | 2006-05-16 16:49 |
已读帖子 新的帖子 被删除的帖子 |
Powered by Jute Powerful Forum® Version Jute 1.5.6 Ent Copyright © 2002-2021 Cjsdn Team. All Righits Reserved. 闽ICP备05005120号-1 客服电话 18559299278 客服信箱 714923@qq.com 客服QQ 714923 |