活动地址:CSDN21天学习挑战赛
抽象类与接口
设计良好的软件系统应该具备“可复用性”和“可扩展性”,能够满足用户需求的不断变更。使用抽象类和接口是实现“可复用性”和“可扩展性”重要的设计手段。
抽象类
Java语言提供了两种类:一种是具体类;另一种是抽象子类。
抽象类概念
1.什么是抽象类?
类和类之间具有共同特征,将这些共同特征提取出来,形成的就是抽象类。抽象类本身是不存在的。所以抽象类无法创建对象,无法实例化。
2.抽象类属于什么类型?
抽象类也属于引用数据类型。
抽象类的声明
3.抽象类怎么定义
在普通类的基础上扩充了一些抽象方法,(0~n)的类(抽象类是普通类的超集),使用abstract关键字定义。
[修饰符列表] abstract class 类名 {
类体;
}
4.抽象类是无法实例化的,无法创建对象的,所以抽象类是用来被子类继承的
5.final和abstract不能联合使用,这两个关键字是对立的
6.抽象类的子类可以是抽象类,也可以是具体类
7.抽象类虽然无法实例化,但是抽象类有构造方法,这个构造方法是供子类使用的
8.抽象类关联到一个概念:抽象方法,什么是抽象方法呢?
抽象方法表示没有实现的方法,没有方法体的方法
例如:
public abstract void dosome();
抽象方法的特点:
- 没有方法体。以分号结尾
- 前面修饰符列表中有abstract关键字
9.抽象类中不一定有抽象方法,但是抽象方法只能出现在抽象类中。
10.一个非抽象的类继承抽象类,必须将抽象类中的方法进行重写实现。