抽象类的特点:当多个类中出现相同功能但功能主体不同。这时可以进行向上抽取:只抽取功能定义,不抽取功能主题
1:抽象方法只能定义在抽象类中,抽象类和抽象方法必须由abstract关键字修饰(可以描述类和方法,不可以描述变量)。
2:抽象方法只定义方法声明,并不定义方法实现。抽象类中不一定要有抽象方法,有抽象方法的类必须是抽象类。
3:抽象类不可以被创建对象(实例化)。通过子类对象进行初始化。
4:只有通过子类继承抽象类并重写了抽象类中的所有抽象方法后,该子类才可以实例化。否则,该子类还是一个抽象类。
5: 抽象类只能单继承。
6:抽象关键字abstract和哪些不可以共存?final , private , static
注意:在继承中,为什么有些时候选择父类是抽象类?当我们强制要求子类必须完成某些功能的时候。
抽象类的成员特点:
1、成员变量:可以有成员变量,也可以有常量。
2、构造方法:有构造方法。用于子类访问父类数据前,对父类数据进行初始化。
3、成员方法:可以有抽象方法,也可以有非抽象方法。抽象方法是为了要求子类做某些事情;非抽象方法是为了提高代码复用性,被子类继承。 |
|