1.抽象类的引出
抽象类的由来:父类方法需要声明,但不确定如何实现
- 将方法声明为抽象abstract方法,类声明为抽象类
- 当一个类中存在抽象方法时,需要将该类声明为abstract类
- 抽象类一般会被继承,由子类来实现抽象方法
2.抽象类的细节
抽象方法没有方法体,因为不需要具体的实现
抽象类补充介绍:抽象类常存在于框架与设计模式中
抽象类细节1-4:
- 抽象类不能实例化
- 抽象类可以没有抽象方法,还可以有实现的方法
- 当一个类中存在抽象方法时,需要将该类声明为abstract类
- abstract只能修饰类和方法,不能修饰属性和其它
3.抽象类的细节2
抽象类细节5-8:
- 所谓实现方法就是要有方法体{}
- 抽象方法不能使用private,final,static修饰(这些关键字与重写相违背)
4.抽象类练习
5.抽象模板模式
抽象类的最佳实践-模板设计模式
初始设计:
将共有代码部分提出到一个新的方法中:
最佳实践:模板设计模式
- 将共有代码部分提取到父类Template,父类中需要声明子类要继承的抽象方法
- 子类继承父类,并分别实现抽象方法job(多态,每个子类完成的任务可以不同)
- 动态绑定机制
父类Template代码: