抽象类和接口的异同点:
相同点:
都是不断向上抽取而来的
不同点:
1.抽象类需要被继承,只能单继承
接口需要被实现,可以多实现,可以多继承(java的多继承只能在这里呢!)
2.抽象类中可以定义抽象方法和非抽象方法,子类继承后,可以直接使用非抽象方法
接口中只能定义抽象方法,必须由子类去实现
3.抽象类的继承是is a 关系,在定义该体系的基本共性内容
接口的实现是 like a 关系,是定义体系额外功能(如笔记本的USB接口是额外功能,以前没有的时候很不方便)