computer_knowledge_notes/Languages/Java/接口与抽象类.md

1.7 KiB
Raw Blame History

接口与抽象类的关系

  1. 类之间的共同行为,即可以用父类与子类的方式来表示,也可以用接口来表示。
  2. 接口与抽象类很相似,但它的目的是指明类的共同行为,这些类可能是相关的,也可能是不相关的。
  3. 类与类之间的继承关系是扩展(extends),而类与接口之间的继承关系是实现(implements)。
  4. 一个类只能继承一个父类,但可以实现多个接口。
  5. 一个接口可以继承多个接口。
  6. 抽象类的属性是无限制的,接口的属性必须是public static final
  7. 抽象类构造方法,接口没有构造方法。
  8. 抽象类对方法无限制,接口的所有方法必须是公共的抽象实例方法

抽象类

  1. 在继承的层次结构中,父类总是越来越抽象,子类总是越来越具体。当父类设计的非常抽象以至于没有任何的实例的时候,就成为了抽象类
  2. 当父类的方法依赖于子类的具体属性,而无法在父类中实现时,这样的方法就叫抽象方法
  3. 为什么要有抽象方法呢?因为这样可以方便两个属性不同的子类之间进行运算。
  4. 抽象类包含抽象方法,不可用于创建对象。这些抽象方法将在抽象类的子类中实现。抽象类和抽象方法用abstract关键字修饰。注意:抽象类也可以不包含抽象方法,抽象类的父类也可能是具体的。
  5. 抽象类的构造方法为protected因为它只被子类使用。

####接口

  1. 接口是一种与相似的结构,只包含常量和抽象方法。
  2. 接口使用interface关键字修饰。