接口(interface)和抽象类(abstract class)是支持抽象类定义的两种机制
- 接口interface:强调特定功能的行为定义,制定行为规范和要求
- 抽象类abstract class:强调特定功能的实现,若自身不实现,则可以交付子类去实现;自身实现了,可用过修饰符或final来制约子类是否可以重写。存在所属关系实现的机制
- 接口可以继承接口,不能实现接口
- 抽象类可以实现接口,也可继承抽象类
- java 1.8中,接口可以定义default方法体,子类实现接口可无需具体具体,也可自身重写实现。颠覆了原有对接口只能定义方法行为、不存在具体实现的认知
- 抽象方法被abstract修饰不能被private、static、synchronized和native等修饰,可以使用public和protected
结合实践,可以在查看Spring的ClassPathXmlApplicationcontext的实现中,能更好的理解