Java记录 -15- 面向对象之多态续

本文深入探讨了Java面向对象编程中的多态概念,包括父类型引用指向子类型对象、晚绑定机制、向上及向下类型转换的区别,并通过具体示例展示了如何在实际编程中应用多态。

Java 面向对象之多态续

  1. 多态:父类型的引用可以指向子类型的对象。

  2. 晚绑定是执行运行的时候确定类型,而不是编译的时候就进行确定。

  3. Parent p = new Child(); 当使用多态方式调用方法时,首先检查父类中是否有该方法如sing(),如果没有则编译错误,如果有则再去调用子类的该方法如sing()。

  4. 一共有两种类型的强制类型转换:

    1).向上类型转换(upcast):比如说将Cat类型转换为Animal类型,即将子类型转换为父类型。对于向上类型转换,不需要显式指定。

    2).向下类型转换(downcast):比如将Animal类型转换为Cat类型。即将父类型转换为子类型。对于向下转换,必须显式指定(必须要使用强制类型转换)。

  5. 多态经典使用:

      public class Car{

          public void run(){}

      }

      public class BMW extends Car{

          public void run(){}

      }

      public class VW extends Car{

          public void run(){}

      }

     public class TestCar{

        public static void main(String[] args){

            TestCar tc = new TestCar();           

            Car bmw = new BMW

            tc.test(bmw);

            Car vw = new VW();

            tc.test(vw);

         }

         public void test(Car car){

            car.run();

        }

     }

    test()方法接收一个Car父类参数,并调用其方法。但实际使用时,传递的是子类的对象,会对应调用子类的方法。这样所以子类都可以使用该方法。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值