抽象类和接口的异同

相同点

* 都不能被直接实例化,都可以通过继承实现其抽象方法

* 都是面向抽象编程的技术基础,实现了诸多的设计模式。

不同点

* 接口支持多继承;抽象类不能实现多继承

* 接口只能定义抽象规则;抽象类既可以定义规则,还可能提供已实现的成员。

* 接口是一组行为规范;抽象类是一个不完全的类,着重族的概念。

* 接口可以用于支持回调;抽象类不能实现回调,因为继承不支持。

* 接口只包含方法、属性、索引器、事件的签名,但不能定义字段和包含实现的方法;抽象类可以定义字段、属性、包含有实现的方法。

* 接口可以作用于值类型引用类型;抽象类只能作用于引用类型。例如,Struct就可以继承接口,而不能继承类。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 抽象类 1.抽象类用abstract来修饰,它在关键字class前面。2.抽象类无法实例化。3.类的功能仍然存在,...
    萧灬瑟阅读 223评论 0 0
  • 1. Java基础部分 基础部分的顺序:基本语法,类相关的语法,内部类的语法,继承相关的语法,异常的语法,线程的语...
    子非鱼_t_阅读 31,779评论 18 399
  • 抽象类 接口
    凹特曼阅读 957评论 0 0
  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 134,997评论 19 139
  • 深秋的阳光温暖平静。 打开新买的书《一个人的朝圣》(英,蕾秋-乔伊斯),刚看了五分钟,我就停下来了。 书的开头,是...
    看见蓝天阅读 629评论 5 8