传统的经典问题 Java 的 Interface 是干什么的

2023-09-21 03:30:40

传统的经典问题 Java 的 Interface 是干什么

解答

上面的这个问题应该还是比较好回答的吧。

只要你做过 Java ,通常 Interface 的问题多多少少会遇到,而且可能会遇到一大堆。

在JAVA编程语言中是一个抽象类型(Abstract Type),它被用来要求类(Class)必须实现指定的方法,使不同类的对象可以利用相同的界面进行沟通 。

简单来说,接口就是用来实现的。

因为前一段时间我们研究了下接口,请参考文章:说完 Java 的 Abstract 后再来说说接口 (interface ) 中的内容。

同时,在面试的时候,我还举例了一个 HttpClient 和 OkHttp 的用接口实现的问题。

举个实际使用的例子,我们现在有一个这样的需求,发送一个 HTTP 请求,获得用户的数据。

当我们希望对这个进行实现的时候,我们可以使用 apache 的 httpclient 这个包来完成 http 的调用,我们也可以使用 OKHttp 这个包来实现 http 的调用。

为了定义大家都使用的方法,我们就在这 2 个调用之前,定义了一个接口来要求我们的 2 个子类分别使用不同的包来实现完成调用返回结果。

别忘了,JPA 中的 Repository 也是定义成接口了喔。

通常,您的存储库接口将会扩展Repository , CrudRepository 或PagingAndSortingRepository

2023-09-20_14-10-56

这样看来,这个接口是不是有点意思呀。

传统的经典问题 Java 的 Interface 是干什么的 - 求职路上 - iSharkFly

更多推荐

使用Canvas绘制一个验证码组件

使用Canvas绘制一个验证码组件前言验证码,这一日常伴随我们的要素,是我们在线交互的重要安全保障。你的手机短信里是否被它占据半壁江山,今天我们就来聊聊如何在网页上实现一个简单的验证码组件。大家在登录网站时为了防止被恶意攻击或者多次点击操作,使用验证码是最常用的实现方式。在学习完Canvas后,通过Canvas实现简单

Linux管理多版本node.js

这里介绍的是Linux版本的nvm工具:一个nodejs版本管理工具!这里可以灵活切换node指定版本哟~下载地址:https://github.com/nvm-sh/nvm/releases/1.安装需要先安装git、curlyuminstall-ygitcurl这里很慢,需要登录。如果不小心退出来,需要重新执行一下

AI绘画Stable Diffusion原理之扩散模型DDPM

前言传送门:stablediffusion:Git|论文stable-diffusion-webui:GitGoogleColabNotebook部署stable-diffusion-webui:GitkaggleNotebook部署stable-diffusion-webui:GitAI绘画,输入一段文本就能生成相关

xyhcms getshell

下载xyhcms3.6.2021版本并用phpstudy搭建functionget_cookie($name,$key=''){if(!isset($_COOKIE[$name])){returnnull;}$key=empty($key)?C('CFG_COOKIE_ENCODE'):$key;$value=$_CO

Naivcat 数据迁移工具 | 竟然那么香

近期,我们收到一位童鞋的留言(如下图),他建议我们多宣传Navicat的数据迁移工具,因为他身边许多小伙伴并非很了解这一功能。今天,我们为大家深度介绍Naivcat安全、可靠的数据迁移工具。请童鞋们准备好NavicatPremium工具,我们马上开始!数据库数据迁移是指选择、准备、提取和转换数据,并将数据从一个计算机存

孩子写作业买什么样台灯合适?适合孩子读写台灯推荐

现在孩子的普遍都存在视力问题,而导致孩子近视的原因可能跟光线太强或太弱、不用的用眼习惯、长时间的过度用眼等因素有关,根据数据表明目前中国近视患者人数达到6亿多,其中儿童青少年的视力不良率甚至高达八成,所以在孩子的学习道路上,护眼也是重中之重的事情。平时间养成良好的用眼习惯是必不可少的,不过照明光源的选择也重要,所以挑选

树莓派4b装系统到运行 Blazor Linux 本地程序全记录

在Linux下运行gui程序,咱也是第一次做,属于是瞎子过河乱摸一通,写得有什么不对和可以优化的地方,希望各位看官斧正斧正.##1.下载烧录器https://www.raspberrypi.com/software/####我选择的是Raspbian64位系统,并配置好ssh账号密码,wifi,以便启动后可以直接黑屏s

贪心算法(Greedy Algorithm)

贪心算法(GreedyAlgorithm)是一种解决优化问题的算法策略。在贪心算法中,每一步都会选择当前情况下最优的选择,而不考虑未来的后果。贪心算法的基本思想是通过局部最优选择达到全局最优。它并不保证一定能得到全局最优解,但在某些情况下可以得到近似最优解或者符合要求的解。贪心算法的适用条件是问题具有"最优子结构"和"

Web自动化测试进阶 —— Selenium模拟鼠标操作

鼠标操作事件在实际的web产品测试中,对于鼠标的操作,不单单只有click(),有时候还要用到右击、双击、拖动等操作,这些操作包含在ActionChains类中。ActionChains类中鼠标操作常用方法:首先导入ActionChains类:fromselenium.webdriver.common.action_c

2023年9月21日,历史上的今天大事件早读

​公元前19年9月21日古罗马诗人维吉尔逝世1069年9月21日宋神宗采用王安石新法,开始实行青苗法1643年9月21日皇太极逝世1898年9月21日慈禧太后发动戊戌政变1909年9月21日我国飞机设计师冯如第一次试飞成功1920年9月21日民主革命家朱执信遇难1926年9月21日荷兰物理学家昂内斯首次发现物理超导性1

分布式/微服务---第五篇

系列文章目录文章目录系列文章目录一、简述ZAB协议二、zk的数据模型和节点类型一、简述ZAB协议ZAB协议是为分布式协调服务Zookeeper专门设计的一种支持崩溃恢复的原子广播协议,实现分布式数据一致性所有客户端的请求都是写入到Leader进程中,然后,由Leader同步到其他节点,称为Follower。在集群数据同

热文推荐