抽象类

作者: 落在牛背上的鸟 | 来源:发表于2018-03-25 20:10 被阅读19次

1. 抽象方法和抽象类

规则如下:

  • 抽象类和抽象方法必须使用abstract修饰符,抽象方法不能有方法体
  • 抽象类不能被实例化,无法使用new关键字来调用抽象类的构造器创建抽象类的实例。
  • 抽象类可以包含成员变量、方法、构造器、初始化块、内部类等5种成分。抽象类的构造器不能由于创建实例,主要是用于被其子类调用。
  • 含有抽象方法的类只能被定义成抽象类。

抽象类使用原则如下:

  • 抽象类必须有子类,即:每一个抽象类一定要被子类所继承;
  • 抽象类的子类(子类不是抽象类)必须要重写抽象类之中的全部抽象方法(强制子类重写);
  • 抽象类的对象实例化需要依靠子类完成,采用向上转型的方式处理。

抽象类的相关限制

  1. 如果抽象类里面存在属性,那么一定会存在构造方法,目的:为属性初始化,并且子类对象实例化的的时候依然满足于先执行父类构造,再调用子类构造的情况。
  2. 抽象类不能够使用final定义:因为抽象类必须有子类,而final定义的类不能够有子类;
  3. 外部抽象类不允许使用static声明,而内部的抽象类可以使用static声明,使用static声明的内部抽象类就相当于是一个外部类,继承的时候使用 "外部类.内部类" 的形式表示类名称。

相关文章

  • js.pattern -h 模板方法模式

    基于复用技术、抽象类-->继承抽象类 创建抽象类 实现抽象类

  • Dart中的抽象类 多态 以及接口

    抽象类 Dart中抽象类: Dart抽象类主要用于定义标准,子类可以继承抽象类,也可以实现抽象类接口。 1、抽象类...

  • Dart 抽象类 多态 和接口

    抽象类 Dart中的抽象类:Dart抽象类主要用于定义标准,子类可以继承抽象类,也可以实现抽象类接口。抽象类通过a...

  • abstract关键字

    抽象类 PHP5 支持抽象类和抽象方法。抽象类不能被实例化,必须先继承该抽象类,然后实例化该抽象类的子类。抽象类中...

  • 抽象类

    什么是抽象类 抽象类的特征 抽象类的意义

  • 25.面向对象(抽象类. 多态)

    面向对象(抽象类. 多态) 一. 抽象类 抽象类不能实例化 继承抽象类的子类必须将抽象类中所有的抽象方法重写 抽象...

  • Dart 抽象类 多态 接口

    1.抽象类 Dart中抽象类: Dart抽象类主要用于定义标准,子类可以继承抽象类,也可以实现抽象类接口。1、抽象...

  • Flutter/Dart - Dart中的抽象类 多态 和接口

    Dart中的抽象类 Dart中的抽象类: Dart抽象类主要用于定义标准,子类可以继承抽象类,也可以实现抽象类接口...

  • Dart中extends和implements

    Dart中抽象类: Dart抽象类主要用于定义标准,子类可以继承抽象类,也可以实现抽象类接口。1、抽象类通过abs...

  • Dart的抽象类和接口

    Dart中抽象类 Dart抽象类主要用于定义标准,子类可以继承抽象类,也可以实现抽象类接口。1、抽象类通过abst...

网友评论

      本文标题:抽象类

      本文链接:https://www.haomeiwen.com/subject/fidzqftx.html