抽象类VS接口

来源:互联网 发布:unity3d汽车模型下载 编辑:程序博客网 时间:2024/06/07 02:30

抽象类和接口是JAVA中非常常用的东西。

他们有很多相似的地方,他们在很多时候都可以互相替换着使用,但是想要掌握抽象类和接口的实质,必须总结一下他们之间的相同点和不同点。

相同点:代表系统的抽象层

               都不能被实例化

               都能包含抽象方法

               都用于描述系统提供的服务,且不必实现。

不同点:在抽象类中可以为部分方法提供默认实现,而接口只能包含抽象方法

               抽象类便于复用,而接口便于维护。

               一个类只能集成一个直接的父类,但是可以继承多个接口。

因为JAVA的特殊性,只能实现单继承,不像C++/C可以多继承,机智得java工程师为了解决这个弊端就发明了接口。

接口是作为系统与外界进行交互的窗口,接口提供服务,接口本身一旦制定,就不允许随意更改,抽象类可完成部分功能的实现,还有部分功能自以为系统的扩展点。


Java中的接口。

属性全都是全局静态常量,方法都是全局的抽象方法。

它无构造函数,一个类可以实现多个接口,非抽象类实现接口必须实现接口的全部方法。       


原创粉丝点击