接口与抽象类区别

news/2024/9/12 15:07:35/文章来源:https://www.cnblogs.com/jichenghui/p/18357593

接口:接口主要用来约束某个实物实现,制定规范

抽象类:抽象类可以理解用来复用代码。

 

 

区别。

1.接口不考虑default方法,则只需要声明方法,不需要实现。而类可以写具体实现。

2.抽象类可以有构造函数,接口不能有

3.单继承,多实现,一个类只能一次继承指定类,而接口可以多实现。

 

 

使用原则:制定实现规范则用接口,复用则用抽象类即可。

 

抽象类使用场景:

1.如对接第三方需要生成token,则token方法可以通过抽象类实现,而子类继承即可复用

public abstract class TokenAbstract {
public String getToken() {
return "这是一个Token";
}
}

public class ProductData extends TokenAbstract {
public Object getData() {
//复用父类获取接口方法
String token = getToken();

//通过token获取具体数据
return "拿到数据了";
}
}
2.第二种方式可以通过抽象类,执行模版步骤,如上车、开车。
而子类重写上车、开车。即可实现多态模版场景

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/783425.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【专题】2024无人驾驶网约车乘坐意愿调查报告合集PDF分享(附原数据表)

原文链接:https://tecdat.cn/?p=37335科技迅猛发展,无人驾驶技术从科幻走进现实,2024 年无人驾驶网约车成热议话题。 阅读原文,获取专题报告合集全文,解锁文末208份无人驾驶网约车相关行业研究报告。 报告表明,近 60%受访者期待,00 后更积极,80 后较谨慎。性别上男性更…

.NET周刊【8月第1期 2024-08-04】

国内文章 EF Core性能优化技巧 https://www.cnblogs.com/baibaomen-org/p/18338447 这篇文章介绍了在代码层面上优化EF Core实例池和拆分查询的方法。首先,文章建议使用DbContext实例池来重复利用实例,避免资源浪费,并提供相关使用示例。其次,文章讨论了笛尔卡乘积对复杂查…

【视频讲解】滚动回归Rolling Regression、ARIMAX时间序列预测Python、R实现应用

原文链接: https://tecdat.cn/?p=37338 原文出处:拓端数据部落公众号 分析师:Jixin Zhong 本文将通过视频讲解,展示如何用滚动回归预测,并结合一个R语言多元时间序列滚动预测:ARIMA、回归、ARIMAX模型分析实例的代码数据,为读者提供一套完整的实践数据分析流程。 滚动回…

25.python模块(加密,os,re,json)

一.加密讲解 加密算法: md5\rsa\AES\des\base (一)base64加解密 import base64 a=base64.b64encode(b"123456") print(a) #加密#bMTIzNDU2 b=base64.b64decode(bMTIzNDU2) print(b) #b123456http://encode.chahuo.com/ 在线加解密hashlib: md5\sha3_51\sha3_512()\s…

25.python模块(加密,os,re)

一.加密讲解 加密算法: md5\rsa\AES\des\base (一)base64加解密 import base64 a=base64.b64encode(b"123456") print(a) #加密#bMTIzNDU2 b=base64.b64decode(bMTIzNDU2) print(b) #b123456http://encode.chahuo.com/ 在线加解密hashlib: md5\sha3_51\sha3_512()\s…

java异常体系

每天坚持,终会抵达!

海康网络相机C#封装库

前言 最近做项目过程中,使用到了海康相机,官方只提供了C/C++的SDK,没有搜寻到一个合适的封装了的库,故自己动手,简单的封装了一下,方便大家也方便自己使用和二次开发 项目地址:https://github.com/martixjohn/HikvisionNetworkCameraSdkForCsharp 项目结构 ├─Dlls/ │…

我们常用的地铁卡/银行卡,竟然运行着一个 Java 虚拟机

我们日常使用 NFC 卡可以用来刷地铁,进出门禁,但是你有没有想过, 当我们使用一个 NFC 的 IC 卡刷卡进入地铁的时候,此时系统是如何知道我这个卡上有多少充值余额的? 这个薄薄的 NFC 卡到底有什么魔力,除了可以刷卡进地铁,还可以去银行取钱,进出小区门禁。 今天我在看到…

Jenkins配置分布式构建环境——添加固定Agent并使用JNLP启动Agent详解

1、概述 在《Jenkins部署架构概述 》这篇博文中对Jenkins部署架构进行了讲解。对于分布式架构,Jenkins包括固态Agent和动态Agent两种方案。固定Agent(常用于虚拟机):Agent容器一直运行,任务构建完成后不会销毁,创建完成后将一直占用集群资源,配置过程较简单。 动态Agent…

在项目里快速运行史上最强开源大模型「Llama 3.1」

7月份,Meta正式发布迄今为止最强大的开源模型——Llama 3.1,包含了405B、70B和8B三个版本的模型。 作为开发者,如何在项目里快速运行LLaMa3.1大模型? 今天,我们结合英智未来自己的LLM推理API平台,给大家介绍一套免费实践流程。 免费使用地址:https://cognihub.baystone…

利用Jenkins Pipeline高效部署Kubernetes服务

什么是 Jenkins Pipeline Jenkins Pipeline是一种持续集成和持续交付(CI/CD)的功能,它允许开发者将复杂的构建、测试和部署流程编码为一系列称为“管道”的自动化步骤。这些步骤以Groovy脚本的形式编写,并且可以在Jenkins中可视化管理。Pipeline提供了代码化和可重用的构建…

DRM:清华提出无偏差的新类发现与定位新方法 | CVPR 2024

论文分析了现有的新类别发现和定位(NCDL)方法并确定了核心问题:目标检测器往往偏向已知的目标,忽略未知的目标。为了解决这个问题,论文提出了去偏差区域挖掘(DRM)方法,以互补的方式结合类无关RPN和类感知RPN进行目标定位,利用未标记数据的半监督对比学习来改进表征网络…