在 Java 中,abstract 用来修饰类以及方法。
注意:
- 不能用来修饰属性和构造器;
- 不能用来修饰被 private、static、final 关键字修饰的方法以及 final 修饰的类。
修饰类
被 abstract 关键字修饰的类称为抽象类,具有以下特点:
- 不能实例化对象,但是类的其他功能依然存在;
- 在使用中,需开发人员提供抽象类的子类,让子类对象实例化,完成相应操作。
修饰方法
被 abstract 关键字修饰的方法称为抽象方法,具有以下特点:
- 方法只有声明,没有具体的方法体;
- 有抽象方法的类,一定是抽象类,但抽象类中可以没有抽象方法;
- 如果子类中重写了父类中所有的抽象方法,此类才可被实例化;否则,次子类仍然是一个抽象类,需要用 abstract 关键字修饰。