方法重写:super,
方法重载:@override:校验是否为方法重写
Object:超类,顶级父类
Arrays.tuString();
String的equals
Equals()和==的区别:
在比较基本数据类型时比较的是值,在引用数据类型下比较的是地址。
Equals()默认情况下载object中实现和是一致的。但是例如String类型对equals进行重写之后比较的是两个字符串中的字符数组。
多态:
1、 掌握为什么要使用多态(初级使用)。
多态的通俗解释(为什么父类的引用可以传入不同的子类类型):
原因:
例如:编写宠物主人类,在宠物主人类中给不同的宠物喂食。
我们发现,宠物都属于一个类型,宠物名+吃东西,
所以引出了多态,
在这个基础上为我们发现:因为这时候调用的是pet父类中的通用方法,结果导致,不同的宠物吃食都是一样的。这时候
我们加入了方法重写。
结果我们发现这样改了之后,父类中的方法这时候又有点鸡肋了,但是又不能删除,处于需要定义,不需要执行的尴尬状态。
这时候我们的解决方案是将此父类方法定义为抽象方法,
结果将方法定义为抽象方法后,这类变为了抽象类。
2、掌握如何使用多态(初级使用)
①父类的引用作为方法的形参。
②父类的引用作为方法的返回值类型。
②的缘由:
- 编写宠物商店类,商店有不同类型的宠物
我们发现未来可能宠物店有更多的重开无可以被领养,那么就需要N多个方法。
使用多态来优化,因为最终无论是返回什么宠物,他们都是pet类的子类。
3.编写测试类进行领养测试:
这时候,我们发现无法设置特殊属性,这是因为父类无法访问子类特有的内容,
这就用时候到了向上、向下类型转换
抽象:在使用了多态之后,我们可以将此方法变得更加具有方发行,但是在父类中定义的方法是一个通用的方法,没办法表示某一人/物的个性公用。
抽象方法:只定义不实现。没有方法体:abstract。
只要有了抽象方法那这个类也相应的变成了抽象类。需要也在类里加上abstract。
不同子类中对父类的此方法进行方法重写,
2、 关键词instanceof
判断某个对象是否是某个类型的实例:
对象名 instanceof 类型
Eg:
4、向上类型转型和向下类型转型
之所以要进行
汽车租赁:
选个车,查看价格,选择车辆,租赁天数