抽象类
1.什么是抽象类
- 类和类之间具有共同特征,把他们提取出来,形成的就是抽象类
- 抽象类是用来继承的,可以提高代码的复用性
- 面向抽象编程,降低程序的耦合度,提高程序的扩展力(面向抽象编程符合OCP原则)
- 类本身不存在,所以抽象类无法实例化
- 抽象类无法实例化,但是有构造方法,供子类继承的时候使用
- 抽象类图:
-
注意:
-
final和abstract不能联用,因为这两个是对立的
- abstract被继承了才能发挥它的作用,而final却是让类无法继承
-
抽象类的子类可以是抽象类
-
2.抽象类属于什么类型
- 抽象类属于引用数据类型
3.抽象类怎么定义
public abstract class A
{
//类体
}
4.抽象方法
-
抽象方法的特点:
-
没有方法体,以分号结尾
-
public abstract void doSome();
-
-
修饰符列表中添加abstract关键字
-
抽象类中可以没有抽象方法,但抽象方法一定出现在抽象类中
-
2.非抽象的类继承抽象类,必须将抽象类中的抽象方法实现,否则编译器报错
- 这里的实现就是方法覆盖或方法重写
- 子类继承抽象类,抽象类中的抽象方法对子类来说是有用的,要用抽象方法,必定要先重写