抽象类
1、概述
比如动物来说,它并不是一个具体的事物,只是一个抽象的概念,只有具体到真正的一个个体,比如到猫、狗,这样才算是具体的动物,理解了这句话,我们理解抽象类就不难了。
抽象类就是将一个笼统范围内的不同个体的行为给出具体的体现,比如猫和狗的睡觉方式不一样,那么我们一个大的动物类里面可以只给出一个关于睡觉的声明,而由猫、狗的具体类去填充他们自己的特有行为。
在Java中,一个没有方法体的方法,可以定义为抽象方法,而类中有抽象方法,这个类就必须是抽象类,但是抽象类中也可以有别的方法,这二者不是相互的。
2、格式
格式:
abstract class 类名 {}
abstract 修饰符 返回值类型 方法名(参数列表);
abstract就是抽象修饰符
没有方法体,与大括号不共存
3、抽象成员
-
成员变量
可以是常量也可以是变量,没有要求 -
构造方法
抽象类含有构造方法,但是它的构造方法不能实例化,只是为了让子类可以通过构造方法访问该抽象类。 -
成员方法
4可以有抽象方法,也可以由其他方法,提高了代码的复用性。
4、特点
- 有抽象方法的一定是抽象类,但是抽象类不一定有抽象方法。
- 抽象类按照多态的方式由子类进行实例化。
- 抽象类的子类要是抽象类就是普通的继承&#