目录
一、抽象 abstract
abstract可以用来修饰的结构:类、方法
抽象类和抽象方法必须使用 abstract 关键字修饰
public abstract class 类名{}
public abstract void eat ();
(一)abstract修饰类:抽象类
抽象类概述
在Java中,一个没有方法体的方法应该定义为抽象方法,而类中如果有抽象方法,该类必须定义为抽象类
- 抽象类不能实例化
- 抽象类中不一定有抽象方法,有抽象方法的类一定是抽象类
- 抽象类中一定有构造器,便于子类实例化时调用
- 抽象类参照多态的方式,通过子类对象实例化,这叫抽象类多态
(二)abstract修饰方法:抽象方法
- 抽象方法只有方法的声明,没有方法体
- 包含抽象方法的类,一定是一个抽象类。反之,抽象类中可以没有抽象方法
- 若子类重写了父类中的所有的抽象方法后,此子类方可实例化
- 若子类没有重写父类中的所有的抽象方法,则此子类也是一个抽象类,需要使用 abstract 修饰
二、抽象abstract的使用注意点
- abstract 不能用来修饰:属性、构造器等结构
- abstract 不能用来修饰私有方法、静态方法、含有 final 的类、含有 final 的方法