荔园在线
荔园之美,在春之萌芽,在夏之绽放,在秋之收获,在冬之沉淀
[回到开始]
[上一篇][下一篇]
发信人: Lg (创造人生的传奇), 信区: Java
标 题: Re: 就是这篇啊
发信站: 荔园晨风BBS站 (Wed Nov 14 12:29:03 2001), 转信
【 在 kid (以一种平静的心情来灌水!) 的大作中提到: 】
我不是高手,对这个类的继承理解也不是很透彻,这里只是说说我的想法。
当获取子类Extension的实例时,它会调用相关的构造函数。并且如果这个构造
函数没有显式调用父类的构造函数,那么它会缺省调用super(),所以它先调了
Base(),因为子类Extension已经覆盖了add()的实现,所以Base()里面的add()
实际上也是执行子类的实现。这样i=2, 然后调用了Extension()里面的add(2),
i = 6;最后就是22。
: 哪位高手个解释
: class Base {
: int i;
: Base() {
: i = 0;
: add(1);
: }
: void add(int v) {
: i =i + v;
: }
: void print() {
: System.out.println(i);
: }
: }
: class Extension extends Base {
: Extension() {
: add(2);
: }
: void add(int v) {
: i = i+ v*2;
: }
: }
: public class Poly {
: public static void main(String args[]) {
: bogo(new Extension());
: }
: static void bogo(Base b) {
: b.add(8);
: b.print();
: }
: }
: 结果是22,为什么啊?
--
不退缩,即使有日我会跌倒,不退避,痛得更深攀得到更高。
icq: 70670666
Email: gang_l@21cn.com & gang_l@hotmail.com
Homepage: 重新制作...
※ 来源:·荔园晨风BBS站 bbs.szu.edu.cn·[FROM: 203.93.19.1]
[回到开始]
[上一篇][下一篇]
荔园在线首页 友情链接:深圳大学 深大招生 荔园晨风BBS S-Term软件 网络书店