接口与抽象类比较

Posted pj2933

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了接口与抽象类比较相关的知识,希望对你有一定的参考价值。

相同点:
1.不能被实例化
2.包含未实现的方法声明
3.派生类必须实现未实现的方法,抽象类是抽象方法,接口则是所有成员
 
不同点:
抽象类 接口
抽象基类可以定义字段、属性、方法实现。
接口只能定义属性、索引器、事件、和方法声明,不能包含字段。
有构造方法 无构造方法
可以包含非抽象的普通方法 不可以包含非抽象的普通方法
抽象方法的访问类型可以是public,protected 只能是public类型
可以包含静态方法 不可以包含静态方法
只能继承一个抽象类 可以继承多个接口
不支持 支持回调
 
用法:
1.一般抽象类是针对一系列相关的对象抽象出来的概念,接口是为一些不相关的对象提供通用功能。
2.接口应该是专一功能的。

以上是关于接口与抽象类比较的主要内容,如果未能解决你的问题,请参考以下文章

Java入门提高篇Day3 抽象类与接口的比较

Java抽象类(Abstract Class)与接口(Interface)区别

C++ 与 Java 之中的虚函数抽象函数抽象类接口 比较

java类与对象基础--抽象类和接口

抽象类和接口的异同?

抽象类与接口的区别