多态
多态:
同一个引用类型,使用不同的实例而执行不同操作
怎么实现多态:父类引用,子类实现
1.使用继承
2.子类重写父类的方法
3.父类引用子类
为什么使用多态:
使用方法重载存在的问题:频繁修改代码,代码可维护性、可拓展性差,使用多态优化设计
要使用多态,就要符合is-a的关系
多态的优点:功能的多样性,可维护可拓展
引用类型转换:
向上转型:
1.父类引用子类
2.可见性:子类重写父类的方法
3.应用:多态
向下转型:
1.强制类型转换,父类转换子类
2.应用:类型的还原
3.instanceof:返回的是一个boolean类型
① 判断一个对象是否属于一个类或者实现了一个接口
② 强制类型转换之前通过instanceof运算符检查对象的真实类型,可以避免类型转换异常,从而提高代码健壮性
综合案例分析:
1.发现类 :什么类型的类,类之间的关系
2.发现类的属性:封装,构造
3.发现类的方法:是否是抽象方法,是否需要在子类中重写父类的方法
4.优化设计:抽取父类,检查abstract,final
5.编写程序入口,检查运行过程,实例化类的对象,计算结果
Object:
所有类的超类
重写equals