一.抽象类的作用
抽象类用来描述一种类型应该具备的基本特征与功能, 具体如何去完成这些行为由子类通过方法重写来完成
-
抽象方法必须为public或者protected(因为如果为private,则不能被子类继承,子类便无法实 现该方法),缺省情况下默认为public。
-
抽象类必须有子类,使用extends继承,抽象类的抽象方法必须要在继承中的子类中重写。
-
子类(如果不是抽象类)则必须覆写抽象类之中的全部抽象方法(如果子类没有实现父类的抽象方法,则必须将子类也定义为为abstract类。
-
一个子类只能继承一个抽象类,抽象类是单继承的 。
-
一个类中有抽象方法,这个类也必须声明成抽象类。抽象方法里可以有普通方法。
-
抽象类不能用final声明,因为抽象类必须有子类,而final定义的类不能有子类。
-
只有覆盖了抽象类中所有的抽象方法后,其子类才可以实例化。如果存留未实现的抽象方法则该子类仍为一个抽象类,无法创建对象。
-
抽象类拥有构造方法,但不能实例化,其存在的意义在于对自身进行初始化,供其子类使用,只能用于继承。
二.抽象类的使用
使用抽象类意义
抽象类用来表示对问题进行抽象、得出的抽象概念。其存在的意义在于其设计性、复用