面向对象-抽象类

1. 为什么要抽象

  1. 当一个类中有一个方法,这个方法在不同的子类中有不同的实现的时候,在父类中我们没有办法去写具体的方法体,这个时候就可以使用抽象.(即不写方法体)

2. 抽象类和抽象方法的格式

2.1 抽象方法

  1. 在成员方法的返回值类型前加abstract修饰,然后去掉方法的大括号,加上一个分号。

例如

  1. public abstract void eat();

2.2 抽象类

  1. class关键字的前面加上 abstract 修饰。

例如

  1. public abstract class Animal{
  2. }

3. 抽象类的特点

  • 抽象类可以有抽象方法,还有就是不能直接创建对象,其他所有都和普通类一样
  • 抽象类的子类,要么重写抽象父类中所有的抽象方法,要么子类本身也是一个抽象类