一、抽象的原因
- 当一个类中有一个方法,这个方法在不同的子类中有不同的实现的时候,在父类中我们没有办法去写具体的方法体,这个时候就可以使用抽象。(即不写方法体)
- 定义为抽象类,子类如果没有重写会报红提示。
二、抽象类和抽象方法的格式
1.抽象方法
在成员方法的返回值类型前加abstract修饰,然后去掉方法的大括号,加上一个分号。
public abstract void eat();
2.抽象类
在class关键字的前面加上 abstract 修饰。
public abstract class Animal{
}
三、抽象类的特点
- 抽象类可以有抽象方法,还有就是不能直接创建对象,其他所有都和普通类一样。
因为抽象类中抽象方法没有方法体,如果创建对象调用方法,执行不成功,故不能直接创建对象 - 抽象类的子类,要么重写抽象父类中所有的抽象方法,要么子类本身也是一个抽象类。