一、多态
1.对象的多种形态
将子类对象看着父类
示例:
父类 名字 = 子类的对象
2.多态的前提:
1:有继承或者实现关系
2:父类引用执行子类对象
3.多态的好处与弊端
1)好处:可以将子类对象看作父类对象,因为子类太具体 父类比较通用
2) 弊端:消除了子类的特性 ,只有父类中的共性
4.多态中的方法调用问题
1:如果多态产生 子类只能调用父类存在的方法
2:如果多态产生 ,父类有该方法 , 子类没有该方法 ,直接执行父类的方法
3:如果多态产生 父类有该方法 , 子类也有该方法 ,直接调用子类自身的方法
注意:
- 如果使用多态 ,方法能加通用 , 但是就不独特了
- 当多态产生时,我们可以向下转型(强制转换) 消除多态的弊端,但是向下转型可能出现,类型转换错误 , 必须是该类型的多态转换执行类型可以使用 instance 来判断保存成功
5.Object
含义:Object是所有对象的父类 定义所有的对象的基础内容。
1)toString
获得对象的信息;
该方法默认是输出对象的类型加上hash值的,但是这个信息不方便阅读,建议子类重写 。
2)equals
判断对象和指定对象是否相等;
该方法默认判断,当前对象和指定对象的地址值是否相等 , 这判断地址不符合我们的正常逻辑;
比较对象中的每个元素,建议子类重写 。
3)hashCode
返回对象的 hash值;
hash值:就是对象的不重复的序号值;
建议重写, 对象中只要数字不同,你的hash值也会不同。