荔园在线

荔园之美,在春之萌芽,在夏之绽放,在秋之收获,在冬之沉淀

[回到开始] [上一篇][下一篇]


发信人: tang (-----), 信区: Java
标  题: Re: 就是这篇啊
发信站: 荔园晨风BBS站 (Wed Nov 14 18:14:04 2001), 转信

【 在 junire (好好学习,天天向上) 的大作中提到: 】
: 也就是说整个过程是这样的了:
: 在调用Extension实例之前先调用它的构造函数
过程如此,但最好别这样理解,最好这么想:
实例化一个类:
1、先构造父类,如果有父类的话;
2、初始化本实例的状态,调用本类的构造函数。

以上是个递归定义,父类的构造过程也是一个类的实例化过程,所以父类的构造
函数会被调用。实现语言这一特性的典型方法是编译器在编译时把构造父类的所
有代码(如调某个构造函数等)放在子类的构造代码前,构成完整的类的构造代
码。
: 而在构造函数中又默认地调用父类Base地add方法,
从上面的所说的东西,你这个理解应该错了。
: 然后再调用Extension的add方法,
: 接下来那个Base b又如何解释啊,它不是调用了父类的方法吗?
: 【 在 Lg (创造人生的传奇) 的大作中提到: 】
: : 你是指那个第二次?
: : 如果是指Extension()构造函数里面的add(),那是因为父类的构造函数已经
: : 调用了。你可以在那个语句前面显式调用super()试试。


--
※ 来源:·荔园晨风BBS站 bbs.szu.edu.cn·[FROM: 203.93.19.1]


[回到开始] [上一篇][下一篇]

荔园在线首页 友情链接:深圳大学 深大招生 荔园晨风BBS S-Term软件 网络书店