首页 > 代码库 > 抽象类和接口的异同点
抽象类和接口的异同点
相同点:
都是不断向上抽取而来的。
不同点:
1,抽象类需要被继承,而且只能单继承。
接口需要被实现,而且可以多实现。
2,抽象类中可以定义抽象方法和非抽象方法,子类继承后,可以直接使用非抽象方法。
接口中只能定义抽象方法,必须由子类去实现。
3,抽象类的继承,*是is a关系*,在定义该体系的基本共性内容。
接口的实现是 *like a 关系*,在定义体系额外功能。
举一个简单的例子:
犬按功能分:有导盲犬,搜爆犬。
1 abstract class 犬 2 { 3 abstract void 吼叫(); 4 } 5 6 interface 导盲 7 { 8 abstract void 导盲(); 9 } 10 11 12 class 导盲犬 extends 犬 implements 导盲 13 { 14 public void 吼叫() 15 { 16 } 17 public void 导盲(){} 18 }
抽象类和接口的异同点
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。