一、抽象类与抽象方法
1、抽象类
*抽象类把多种事务(类),也就是多个类的共性的内容抽取出来。可以只表示相同的相关功能,而不给出具体实现。
*抽象类的目的是提供一个合适的超类,以派生其他类。抽象类作为继承层次结构中的超类,又被称为抽象超类。
*用关键字abstract修饰的类称为abstract类(抽象类)。
例如:abstract class A{
…}
*抽象类的特点
(1)对于抽象类,不能直接使用实例化对象,即不能使用new运算符创建该类的对象,只能先创建其子类,由子类创建对象。
(2)抽象类了可以声明对象,作为子类对象的上转型对象。
(3)和普通对象的类箱必,抽象类里可以有抽象方法。也可以没有抽象方法,但是有抽象方法的一定是抽象类。
2、抽象方法
*用关键字abstract修饰的方法称为抽象方法。
*对于抽象方法,只允许声明,不允许实现,也就是说只能定义相应的方法头,而没有体内容。
例如:abstract double getArea();
*抽象方法不允许使用static 、final修饰。
3、抽象类的子类
*抽象超类的所有具体子类都必须为超类的抽象方法提供具体实现,即实现抽象超类的所有抽象方法。
*抽象类的子类也可以是抽象类,子类是抽象类时不必实现抽象超类的所有抽象方法。