当前位置: 首页 > news >正文

抽象类与接口的区别

 

1,抽象类 是 高聚合,接口是 低耦合;
  比如  京巴狗、哈巴狗 等是属于狗,都会叫。狗为具体狗的 抽象类。'叫' 狗会叫、鸟也会叫,则叫 为接口。
2,抽象类 的方法 可以实现 也可以不实现,也可以有属性,也可以定义方法或属性的 私有,但接口只有方法、无属性,且方法必须是公有的,且不可给出实现部分。
3,具体类可以继承抽象类、可以实现接口,具体类 可以重写抽象类的方法、也可以不重写,但必须实现接口的方法。
4,抽象类如果新增一个方法的话,子类可以不做任何处理,但接口新增一个方法的话,实现类必须做修改。
5,子类只能单继承抽象类、但可以实现多个接口。

转载于:https://www.cnblogs.com/Bbrook/p/4339570.html

相关文章:

  • 不常用的模拟链表
  • Floyed-Warshall-求最短路
  • Server should be SSL-aware but has no certificate
  • Dijkstra求最短路(邻接表存储,前向星存储,堆优化)
  • linux虚拟机中和主机三种网络连接方式的区别
  • Bellman-Ford算法(队列优化)
  • 堆的自行实现和c++优先队列模板
  • 顺序栈的实现和c++模板
  • 语言知识大杂烩
  • 并查集
  • java 强引用弱引用
  • kruskal最小生成树
  • 网络直播电视之M3U8解析篇 (下)
  • Prim算法最小生成树
  • 图的割点和割边
  • Apache的80端口被占用以及访问时报错403
  • Electron入门介绍
  • HTML5新特性总结
  • JS正则表达式精简教程(JavaScript RegExp 对象)
  • node入门
  • PyCharm搭建GO开发环境(GO语言学习第1课)
  • python 装饰器(一)
  • seaborn 安装成功 + ImportError: DLL load failed: 找不到指定的模块 问题解决
  • Swift 中的尾递归和蹦床
  • Swoft 源码剖析 - 代码自动更新机制
  • 简析gRPC client 连接管理
  • 聊聊directory traversal attack
  • 聊聊redis的数据结构的应用
  • 探索 JS 中的模块化
  • 3月27日云栖精选夜读 | 从 “城市大脑”实践,瞭望未来城市源起 ...
  • 我们雇佣了一只大猴子...
  • ​【已解决】npm install​卡主不动的情况
  • #### go map 底层结构 ####
  • #{}和${}的区别是什么 -- java面试
  • #我与Java虚拟机的故事#连载19:等我技术变强了,我会去看你的 ​
  • (06)金属布线——为半导体注入生命的连接
  • (层次遍历)104. 二叉树的最大深度
  • (二)学习JVM —— 垃圾回收机制
  • (附源码)计算机毕业设计ssm电影分享网站
  • (续)使用Django搭建一个完整的项目(Centos7+Nginx)
  • (一)eclipse Dynamic web project 工程目录以及文件路径问题
  • (轉貼) 蒼井そら挑戰筋肉擂台 (Misc)
  • .net framework4与其client profile版本的区别
  • .NET/C# 利用 Walterlv.WeakEvents 高性能地定义和使用弱事件
  • .NET/C# 在代码中测量代码执行耗时的建议(比较系统性能计数器和系统时间)
  • .netcore 获取appsettings
  • .NET框架类在ASP.NET中的使用(2) ——QA
  • @angular/cli项目构建--Dynamic.Form
  • [ Linux ] git工具的基本使用(仓库的构建,提交)
  • [ 英语 ] 马斯克抱水槽“入主”推特总部中那句 Let that sink in 到底是什么梗?
  • [2017][note]基于空间交叉相位调制的两个连续波在few layer铋Bi中的全光switch——
  • [2019.3.5]BZOJ1934 [Shoi2007]Vote 善意的投票
  • [Android]使用Retrofit进行网络请求
  • [AutoSar]BSW_Com02 PDU详解
  • [AutoSar]BSW_Com07 CAN报文接收流程的函数调用