Java中抽象类,及其与final之间的关系

曾经终败给现在 2024-03-25 21:44 140阅读 0赞
  1. 抽象类使用场景及使用场景

    • 抽象类可以理解为不完整的设计图,一般作为父类,让子类来继承。

    • 当父类知道子类需要完成某些行为,但是每个子类的该行为实现又不同,于是父类就将该行为定义为抽象方法的形式,具体实现交给子类去实现,此时这个类就可以定义为抽象类。

    • 抽象类的注意事项(面试可能会考)

  2. 最重要的特征:得到了抽象方法但是失去了创建对象的能力。(不能创建对象的原因:因为抽象类中的是抽象方法,没有方法体,假如他能创建对象,那他调用抽象方法时会出错)

  3. 类有的成员(成员变量、方法、构造器)抽象类都具备

  4. 抽象方法只有方法签名,没有方法体(即那个大括号)

  5. 抽象类中不一定有抽象方法,但有抽象方法的类一定是抽象类

  6. 一个类继承了抽象类必须重写玩抽象类的全部抽象方法,否则这个类也必须定义为抽象类。

  7. 不能用abstract修饰变量、代码块、构造器。

  8. final与abstract的关系

    • 互斥关系

    • abstract定义的抽象类作为模板让子类继承,而final定义的类无法继承。

    • 抽象方法定义功能让子类重写,但final定义的方法子类无法重写

发表评论

表情:
评论列表 (有 0 条评论,140人围观)

还没有评论,来说两句吧...

相关阅读

    相关 Java之间关系

    类与类之间最常见的关系主要有三种:依赖(uses-a)、聚合(has-a)和继承(is-a)。 下面以在线书店订单系统为例,来详细的讲述这三种关系的概念。