多态

方法重写:super,
方法重载:@override:校验是否为方法重写
Object:超类,顶级父类
Arrays.tuString();
String的equals
Equals()和==的区别:

在比较基本数据类型时比较的是值,在引用数据类型下比较的是地址。
Equals()默认情况下载object中实现和
是一致的。但是例如String类型对equals进行重写之后比较的是两个字符串中的字符数组。
多态:
1、 掌握为什么要使用多态(初级使用)。
多态的通俗解释(为什么父类的引用可以传入不同的子类类型):
原因:
例如:编写宠物主人类,在宠物主人类中给不同的宠物喂食。
在这里插入图片描述
我们发现,宠物都属于一个类型,宠物名+吃东西,
所以引出了多态,
在这里插入图片描述
在这个基础上为我们发现:因为这时候调用的是pet父类中的通用方法,结果导致,不同的宠物吃食都是一样的。这时候
我们加入了方法重写。

结果我们发现这样改了之后,父类中的方法这时候又有点鸡肋了,但是又不能删除,处于需要定义,不需要执行的尴尬状态。
这时候我们的解决方案是将此父类方法定义为抽象方法,

在这里插入图片描述
结果将方法定义为抽象方法后,这类变为了抽象类。

2、掌握如何使用多态(初级使用)
①父类的引用作为方法的形参。
②父类的引用作为方法的返回值类型。
②的缘由:

  1. 编写宠物商店类,商店有不同类型的宠物

在这里插入图片描述
我们发现未来可能宠物店有更多的重开无可以被领养,那么就需要N多个方法。
使用多态来优化,因为最终无论是返回什么宠物,他们都是pet类的子类。
在这里插入图片描述

3.编写测试类进行领养测试:
在这里插入图片描述

这时候,我们发现无法设置特殊属性,这是因为父类无法访问子类特有的内容,
这就用时候到了向上、向下类型转换

抽象:在使用了多态之后,我们可以将此方法变得更加具有方发行,但是在父类中定义的方法是一个通用的方法,没办法表示某一人/物的个性公用。
抽象方法:只定义不实现。没有方法体:abstract。
只要有了抽象方法那这个类也相应的变成了抽象类。需要也在类里加上abstract。

不同子类中对父类的此方法进行方法重写,
2、 关键词instanceof
判断某个对象是否是某个类型的实例:
对象名 instanceof 类型
Eg:
4、向上类型转型和向下类型转型
之所以要进行
在这里插入图片描述

汽车租赁:
选个车,查看价格,选择车辆,租赁天数

在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值