解析上转型对象的好处

解析上转型对象的好处

引入
一个父类 Car
两个子类 BWM、BenZ
两个子类 有一个共同的方法 price()

需求
当需要在Text类里同时子类的price()方法时,
方法一:
可以直接创建两个子类的对象,然后分别调用子类对象的price()方法输出他们各自的价格。
但是,当Car有很多子类时,方法一需要创建许多子类对象,此时可以用上转型对象的好处来完成需求,
方法二如下:
在Text类里,创建一个方法,soutPrice(Car car),该方法以父类对象Car类为形参(继承的子类皆为car类)

public soutPrice(Car car){
	System.out.pritln(car.price());
}

在Text的main函数里面,只需调用soutPrice方法,并传入子类实参就行:

psvm(Idea里面输出主函数代码的简写){
	soutPrice(new BWM());
	soutPrice(new BenZ());
}

体现上转型的地方:
soutPrice(Car car)方法里,car作为上转型对象,car.price()调用的是子类重写父类的方法

补充

  1. 上转型对象 不能 操作子类 自身声明定义 的方法和对象
  2. 其操作的是 子类所继承的变量,或者子类继承和重写的方法。
  3. 当父类方法为static修饰时,即使子类重写了该方法,调用时仍为父类的方法
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值