abstract
概述
- 关键字abstract,它是抽象的意思,可以修饰类也可以修饰方法,抽象方法不能有方法体
- 类的成员(成员变量、成员方法、构造器),类的成员都可以有
- 抽象类是不能创建对象的,如果抽象类的对象就会报错. 抽象类虽然不能创建对象,但是它可以作为父类让子类继承。而且子类继承父类必须重写父类的所有抽象方法。
- 子类继承父类如果不复写父类的抽象方法,要想不出错,这个子类也必须是抽象类
//abstract修饰类,这个类就是抽象类
public abstract class A{
//abstract修饰方法,这个方法就是抽象方法
public abstract void test();
}
优势
- 用抽象类可以把父类中相同的代码,包括方法声明都抽取到父类,这样能更好的支持多态,提高代码的灵活性,复用性。
- 反过来用,我们不知道系统未来具体的业务实现时,我们可以先定义抽象类,将来让子类去实现,以方便系统的扩展。