接口
一. 什么是接口
微观概念:接口是一种能力
- 接口的定义:代表了某种能力
- 方法的定义:能力的具体要求
宏观概念:接口是一种标准
- 例如:USB接口
接口相当于特殊的抽象类,定义方式、组成部分与抽象类类似
- 使用interface关键字定义接口
- 没有构造方法,不能创建对象
- 只能定义:公开静态常量、公开抽象方法
二. 接口与抽象类的异同
- 相同:
- 可编译成字节码文件
- 不能创建对象
- 可以作为引用类型
- 具备object类中所定义的方法
- 不同:
- 所有属性都是公开静态常量,隐式使用public static final 修饰
- 所有方法都是公开抽象方法,隐式使用public abstract修饰
- 没有构造方法、动态代码块、静态代码块
三. 接口的应用
- 经验:java为单继承,当父类的方法种类无法满足子类需求时,可实现接口扩充子类能力
- 接口支持多实现,可为类扩充多种能力
- 接口引用:同父类一样,接口也可声明为引用,并指向实现类对象
- 注意:
- 仅可调用接口中所声明的方法,不可调用实现类中独有的方法
- 可强转回实现类本身类型,进行独有方法调用
- [特殊:通过接口可调用object中的公开方法]
- 多种不同类型的引用指向同一个对象时,表示看待对象的视角不同
- 常见关系
- 类与类
- 单继承
- extends 父类名称
- 类与接口
- 多实现
- implements 接口名称1, 接口名称2, 接口名称n
- 接口与接口
- 多继承
- extends 父接口1, 父接口2, 父接口n
- 类与类
四. 接口的规范
- 任何类在实现接口时,必须实现接口中所有的抽象方法,否则此类为抽象类
- 实现接口中的抽象方法时,访问修饰符必须是public
五. 常量接口
- 常量接口将多个常用于表示状态或固定值的变量,以静态常量的形式定义在接口中统一管理,提高代码可读性
- 标记接口中没有包含任意成员,仅仅用作于标记
- Serializable
- Cloneable
六. 接口回调
- 先有接口的使用者,后有接口的实现者
七. 接口的好处
- 程序的耦合度降低
- 更自然的使用多态
- 设计与实现完全分离
- 更容易搭建程序框架
- 更容易更换具体实现
标签:常量,16,实现,接口,抽象类,方法,定义 来源: https://www.cnblogs.com/spyX/p/16446956.html
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。