17_抽象类

抽象类:其本质就是类异同点:

  使用场景:
    父类中的方法,被他的子类们重写,子类的实现各自的实现都不尽相同。那么父类的方法声明和方法主体,
    只有声明还有意义,而方法主体没有存在的意义了。我们把没有方法主体的方法称为抽象方法。
    Java语言规定,包含抽象方法的类必须是抽象类。

定义:

    抽象方法:没有方法体的方法
    抽象类:包含抽象方法的类
  抽象方法和抽象类的声明需要用到关键字abstract(抽象的)。
  如果一个成员方法被abstract关键字修饰,那么该方法就是一个抽象方法,抽象方法只包含一个方法名而没有方法体。

定义格式:

  修饰符 abstract 返回值类型 方法名(参数列表);
  如:public abstract void eat(double money);

注:

  如果一个类包含了抽象方法,那么该类必须是抽象类

定义格式:

  public abstract class ClassName {
  //.....
  .....
  }

抽象的使用:

  继承抽象类的子类必须重写父类中的所有的抽象方法,否则该子类也必须声明为抽象类
  最终必须由子类实现该父类的抽象方法,否则,从最初的父类到最终的子类都不能创建对象,失去了意义
  抽象类一般被设计为父类使用的。

原文地址:https://www.cnblogs.com/rosiness/p/13927244.html