父类引用和子类引用之间 的关系

1、可以用子类的引用给父类的引用赋值,也就是说,父类的引用可以指向子类的对象。相当于父类的引用也指向子类的对象。
2、不能让子类的引用指向父类的对象。因为父类并没有子类的属性和方法。
3、因为子类继承了父类的方法和属性。所以父类的对象能做到的,子类对象肯定能做到。换句话说,可以在子类对象上,指向父类的方法,当父类的引用指向子类的实例,只能通过父类的引用,像父类一样操作子类对象。也就说名的类型,决定了执行哪些操作。
举例来讲。如果引用ph 和 m都指向一个对象,但是引用ph和m却不属于同一个类型。如果ph的类型中定义了getBrand方法,那么就可以调用ph.getBrand();但是m的类型中没有定义getBr and方法,那就不能调用m.getBrand()方法。
4、是否可以强制转换,取决于等号右边的引用指向的对象 是否是等号左边的类型或者其子类对象,如果是那么可以强制类型转化为该类型。否则就不可以。

虽然父类的引用可以指向不同类型的对象,调用方法时,实际执行的方法取决于对象的类型,而非引用的类型。也就是说,能调用那些方法,是引用决定的,具体执行哪个类的方法,是引用指向的对象决定的。这就是覆盖的精髓。覆盖是多态的一种,也是最重要的一种。

  • 4
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值