Java中连续继承中的多态问题

来源:互联网 发布:青果教育网络管理系统 编辑:程序博客网 时间:2024/06/05 03:03

直接上代码:
b中没有show2()方法则默认就继承过来

class A {    public void show() {        show2();    }    public void show2() {        System.out.println("我");    }}class B extends A {    // 没有的则默认就继承过来    public void show() {        show2();    }   /* public void show2() {        System.out.println("爱");    }*/}class C extends B {    public void show() {        super.show();    }    public void show2() {        System.out.println("你");    }}public class DuoTaiTest4 {    public static void main(String[] args) {        A a = new B();        a.show();     //我        B b = new C();        b.show();     //你    }}

b中有show2()方法则覆盖

class A {    public void show() {        show2();    }    public void show2() {        System.out.println("我");    }}class B extends A {    /*  没有的则默认就继承过来    public void show() {        show2();    }    */    public void show2() {        System.out.println("爱");    }}class C extends B {    public void show() {        super.show();    }    public void show2() {        System.out.println("你");    }}public class DuoTaiTest4 {    public static void main(String[] args) {        A a = new B();        a.show();     //爱        B b = new C();        b.show();     //你    }}