在Java中有一个关键字叫:abstract,他的意思就是抽象,可以用它修饰类,成员方法。
abstract修饰类,这个类就是抽象类;修饰方法,这个方法就是抽象方法。
- 抽象类的注意事项,特点
抽象类中不一定有抽象方法,有抽象方法的就一定是抽象类
类该有的成员(成员变量,方法,构造器)抽象类都可以有
抽象类最重要的特点:抽象类不能创建对象,仅作为一种特殊的父类,让子类继承并实现
一个类继承抽象类,必须重写完抽象类的全部抽象方法,否则这个类也必须定义成抽象类
两种应用场景
1.用抽象类,我们可以把子类相同的代码,包括方法签名都抽上来,这样能更好的支持多态,以提高代码的灵活性
2.反过来用,我们不知道系统未来具体的业务实现,我们可以先定义类,将来让子类去实现,以方便系统的拓展
模板方法设计模式
模板方法:把相同代码放到里面去
抽象方法:具体实现交给子类完成