Java的抽象类abstract和接口interface的异同点

来源:互联网 发布:java compareto 排序 编辑:程序博客网 时间:2024/04/30 15:41

 抽象类和接口的异同点:


 相同点:
  都是不断向上抽取而来的


 不同点:


1.抽象类需要被继承,只能单继承
   接口需要被实现,可以多实现,可以多继承(java的多继承只能在这里呢!)


2.抽象类中可以定义抽象方法和非抽象方法,子类继承后,可以直接使用非抽象方法
  接口中只能定义抽象方法,必须由子类去实现


3.抽象类的继承是is a 关系,在定义该体系的基本共性内容
  接口的实现是 like a 关系,是定义体系额外功能(如笔记本的USB接口是额外功能,以前没有的时候很不方便)