一:抽象类特点
- 抽象方法一定在抽象类中
- 抽象方法和抽象类都必须被abstract关键字修饰
- 抽象类不能创建对象,因为调用抽象方法是没有意义的
- 抽象类中的抽象方法要被使用,必须有子类继承它并复写所有抽象方法后才能调用,若只覆盖部分抽象方法,则子类还是抽象类
注意:抽象类中可以不一定有抽象方法,这样做的作用仅仅是不让该类拥有实例对象。
抽象类的子类不必实现它的所有抽象方法,若没有实现所有抽象方法则子类也必须是抽象类
1:在定义功能的过程中,一部分功能是确定的,一部分功能是不确定的,如果确定的部分调用不确定的部分,那么可以将确定的部分暴露出去,而将不确定的部分抽象化,有利于代码的复用。
例子:
备注:对于有默认运行的功能,也可以不抽象化,让子类自己选择是否复写,如果不覆写则运行默认功能