java中类的继承

iali87

我有这个程序的输出,我不明白它是怎么发生的,这里是输出

我从A是40

我从A是60

我来自B是60

我确实了解输出的第一行,但此后一无所获。这和多态性有关吗?

public class Test {

    public static void main(String[] args) {
        new A();
        new B();
    }
}

class A {

    int i = 7;

    public A() {

        setI(20);

        System.out.println("i from A is " + i);

    }

    public void setI(int i) {
        this.i = 2 * i;

    }
}

class B extends A {

    public B() {

        System.out.println("i from B is " + i);
    }

    public void setI(int i) {
        this.i = 3 * i;
    }

}
乔治·艾可(George Eco)

是的。B扩展了A,这意味着它是A的子类。因此,它共享i,该i仅在A中初始化,然后在B中共享。那么B从什么开始?“初始”值等于20的i。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章