java继承与多态——小测试

package test1;

 class A {
    public String s = "123";

    public void show(A obj){
        System.out.println("A and A");
    }

    public void show(D obj){
        System.out.println("A and D");
    }
}

class B extends A{
    public String s = "456";
    public void show(B obj){
        System.out.println("B and B");
    }
    public void show(A obj){
        System.out.println("B and A");
    }
    public void show(E obj){
        System.out.println("B and E");
    }
}

class C extends B{
}

class D extends B{
}

class E{
}
public class F002 {
    public static void main(String[] args){
        A a1 = new A();
        A a2 = new B();

        B b = new B();
        C c = new C();
        D d = new D();
        E e = new E();

        a1.show(b);
        a1.show(c);
        a1.show(d);
        System.out.println(a1.s);

        a2.show(b);
        a2.show(c);
        a2.show(d);
        //a2.show(e);//这句编译不过
        System.out.println(a2.s);

        b.show(b);
        b.show(c);
        b.show(d);
        b.show(e);
        System.out.println(b.s);
    }
}

输出有三段:

第一段涉及到向上转型,不太难

第二段涉及到的内容是:

将一个子类的对象赋值给父类的变量,执行程序时是按照父类的逻辑去寻找该执行哪个方法,等找到了那个方法之后,却是按照着子类的实现方式来执行

第三段涉及到的内容是:

动态绑定方面的知识,一个对象在调用一个方法时,jvm会依次在其父类、其父类的父类、一直到object类,一旦找到符合的方法,就去执行它。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
Java中的继承是面向对象编程中的一种重要概念,通过继承可以实现类与类之间的父子关系,子类可以继承父类的属性和方法。在继承关系中,子类可以对父类的方法进行重载和覆盖,从而实现多态概念。 通过继承,子类可以继承父类的非私有成员变量和方法。这样可以实现代码的复用,避免重复编相似的代码。通过继承,可以在子类中调用父类的方法,也可以在子类中新增自己特有的方法和属性。子类还可以对从父类继承来的方法进行修改,以适应自己的需求。 多态是指同一类型的对象,在不同的状态下表现出不同的行为。在Java中,多态性可以通过继承和方法的重实现。当父类的引用指向子类的实例时,可以通过该引用调用子类中重的方法,实现不同类的对象调用同一个方法产生不同的结果。多态可以提高代码的灵活性和扩展性,使得程序更易于维护和扩展。 在Educoder平台上,可以通过练习和编程任务来学习和掌握Java继承多态。通过编继承父类的子类,重父类的方法以及引用父类的实例来实现多态,可以更好地理解和应用这两个概念。平台提供了丰富的练习题和编程任务,帮助学习者提高对继承多态的理解和应用能力。 总之,Java中的继承多态是面向对象编程中的重要概念,通过继承可以实现代码的复用,多态可以实现不同对象的不同行为。在Educoder平台上通过练习和编程任务,可以更好地学习和掌握这两个概念

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

倚风听雨.

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值