抽象(abstract)

抽象(abstract)

抽象就是从多个事物中将共性的,本质的内容抽象出来。

抽象类

Java中可以定义没有方法体的方法,该方法的具体实现由子类完成,该方法称为抽象方法,包含抽象方法的类就是抽象类。

由来

多个对象都具备相同的功能,但是功能具体内容有所不同,那么在抽取过程中,只抽取了功能定义,并未抽取功能主体,那么只有功能声明,没有功能主体的方法称为抽象方法。

抽象类特点

  1. 抽象方法一定在抽象类中;
  2. 抽象方法和抽象类都必须被abstract关键字修饰;
  3. 抽象类不可以用new创建对象,因为调用抽象方法没意义;
  4. 抽象类中的抽象方法要被使用,必须由子类复写其所有的抽象方法后,建立子类对象调用; 如果子类只覆盖了部分的抽象方法,那么该子类还是一个抽象类;
  5. 抽象类中可以有抽象方法,也可以有非抽象方法,抽象方法用于子类实例化;
  6. 如果一个类是抽象类,那么,继承它的子类,要么是抽象类,要么 重写 所有抽象方法。
    特殊:抽象类中可以不定义抽象方法,这样做仅仅是不让该类建立对象。

抽象类的成员特点

  • 成员变量

  • 可以是变量

  • 也可以是常量

  • 构造方法

  • 有构造方法,但是不能实例化

  • 那么,构造方法的作用是什么呢?用于子类访问父类数据的初始化

  • 成员方法

  • 可以有抽象方法:限定子类必须完成某些动作

  • 也可以有非抽象方法:提高代码复用性

posted @ 2021-09-14 08:50  北暮南城  阅读(506)  评论(0编辑  收藏  举报