传统的经典问题 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
这样看来,这个接口是不是有点意思呀。