【java基础】抽象类与接口的异同!

来源:互联网 发布:ip网络广播软件 编辑:程序博客网 时间:2024/05/21 13:21

抽象类和接口的异同点:


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

不同点
1,抽象类需要被继承,而且只能单继承。
   接口需要被实现,而且可以多实现。 
2,抽象类中可以定义抽象方法和非抽象方法,子类继承后,可以直接使用非抽象方法。
   接口中只能定义抽象方法,必须由子类去实现(java8中增加了default默认方法和public static类方法,子类不用实现,可直接用)。 
3,抽象类的继承,是is a关系,在定义该体系的基本共性内容。
   接口的实现是 like a 关系,在定义体系额外功能

/*犬按功能分:有导盲犬,搜爆犬。abstract class 犬{abstract void 吼叫();}//abstract class 导盲interface 导盲{abstract void 导盲();}class 导盲犬 extends 犬 implements 导盲{public void 吼叫(){}public void 导盲(){}}//在不同的问题领域中,有不同的分析方式。学员:学习。抽烟学员烟民。*/
注:本文来自毕老师java代码。

原创粉丝点击