java interface

一个接口表示:“所有实现了该特定接口的类看起来都像这样”

在stackoverflow中看到了一个关于接口与抽象类的较好的回答

Abstract classes应主要用于密切相关的物体。Interfaces更好地为不相关的类提供通用的功能。

从业务上来讲,一个接口是一个实现协议,它规定你要实现什么,而不是如何实现

基本结构

创建一个接口时,需要用interface替换掉class,并且可以在接口钱添加public或者不不添加任何控制符,和对类的作用一样。

接口也可以含有变量,但这些变量隐式地是static和final的,所以接口是不存在变量的

接口中的方法只能public的,即使你不去添加public控制符

完全解耦

只要一个方法操作的是类而非接口,那么你就只能使用这个类及其接口。如果你想要将这个方法引用于不在此继承结构中的某个类,那就不太可能了。

但可以通过使用接口来放宽这个限制

多重继承

java不支持多重继承,但是可以通过实现多个接口。

使用接口的主要目的是能够向上转型为多个基类型,来获取更多的灵活性,

并且防止客户端程序员创建该类的对象,并确保这仅仅是建立一个接口。

通过继承来扩展接口

接口之间可以使用继承(extends的方式来扩展)

组合接口市的名字冲突

如果组合接口时不同的接口具有相同参数列表的方法,但却有不同的返回类型,此时编译器会报错

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

推荐阅读更多精彩内容

  • 1. Java基础部分 基础部分的顺序:基本语法,类相关的语法,内部类的语法,继承相关的语法,异常的语法,线程的语...
    子非鱼_t_阅读 31,839评论 18 399
  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 135,269评论 19 139
  • (一)Java部分 1、列举出JAVA中6个比较常用的包【天威诚信面试题】 【参考答案】 java.lang;ja...
    独云阅读 7,155评论 0 62
  • 忙忙碌碌的一天结束 又到了每天习惯总结的点啦!真心觉得这是一个值得坚持的事情 因为每天的总结时刻 我都会闭上眼睛...
    路露小魔女阅读 169评论 0 0
  • 手机上显示闺蜜小Z的来电,刚接通,那头传来低沉的声音:“我恨现在的自己,没有能力让自己过上想要的生活,想做单亲妈妈...
    宝木欣阅读 611评论 0 6