1.7 KiB
1.7 KiB
接口与抽象类的关系
- 类之间的共同行为,即可以用父类与子类的方式来表示,也可以用接口来表示。
- 接口与抽象类很相似,但它的目的是指明类的共同行为,这些类可能是相关的,也可能是不相关的。
- 类与类之间的继承关系是扩展(extends),而类与接口之间的继承关系是实现(implements)。
- 一个类只能继承一个父类,但可以实现多个接口。
- 一个接口可以继承多个接口。
- 抽象类的属性是无限制的,接口的属性必须是public static final。
- 抽象类有构造方法,接口没有构造方法。
- 抽象类对方法无限制,接口的所有方法必须是公共的抽象实例方法。
抽象类
- 在继承的层次结构中,父类总是越来越抽象,子类总是越来越具体。当父类设计的非常抽象以至于没有任何的实例的时候,就成为了抽象类。
- 当父类的方法依赖于子类的具体属性,而无法在父类中实现时,这样的方法就叫抽象方法。
- 为什么要有抽象方法呢?因为这样可以方便两个属性不同的子类之间进行运算。
- 抽象类包含抽象方法,不可用于创建对象。这些抽象方法将在抽象类的子类中实现。抽象类和抽象方法用abstract关键字修饰。注意:抽象类也可以不包含抽象方法,抽象类的父类也可能是具体的。
- 抽象类的构造方法为protected,因为它只被子类使用。
####接口
- 接口是一种与类相似的结构,只包含常量和抽象方法。
- 接口使用interface关键字修饰。