Java笔记整理:接口
来源:互联网 发布:兼职数据录入是真的吗 编辑:程序博客网 时间:2024/06/04 01:35
抽象类和抽象方法
抽象类是介于普通类和接口之间的形式
包含抽象方法的类叫做抽象类。如果一个类包含一个或多个抽象方法, 该类必须限定为抽象的
为抽象类创建对象是不安全的,会产生错误
导出类必须实现基类的抽象方法,否则该导出类也是抽象类
必须用abstract关键字来限定抽象类和抽象方法
抽象类可以没有任何抽象方法
接口
interface关键字产生一个完全抽象的“类”,其中根本没有任何具体实现,声明方法但没有任何方法体
接口被用来建立类与类之间的协议
接口前可以添加public关键字,否则就具有包访问权限
接口可以包含域,隐式地位static和final的
实现接口要使用implements关键字链接
接口中的方法隐式地为public的。实现接口时,要实现的方法必须定义为public的,否则是包访问权限
可以将实现类对象向上转型为接口类型
完全解耦
遵循接口来遍写类,可以减轻接口和类型的耦合
多重继承
接口比抽象类更纯粹的地方在于,接口没有任何具体实现,即没有任何与接口相关的存储
因此可以继承任意多个接口,并可以向上转型为任意一个接口
继承的类必须放在前面,后面跟着接口
基类中的同名方法可以帮助实现接口中的方法
如果知道某事物应该成为一个基类,首先考虑让其成为接口
通过继承扩展接口
接口可以继承接口,用extends
名字冲突
如果方法相同则不会有什么问题,但是如果签名或者返回类型不同,会导致接口间不相容(incompatible)
适配接口
一个接口可以有不同的实现方式
常用的方法是策略模式:“你可以用任何你想要的对象来调用我的方法,只要你的对象遵循我的接口”
接口对比类的强大之处:让方法接受接口,可以让任何一种类都适用该方法
接口中的域
接口中的任何域都自动是static,final和public的
接口中的域不能是空final,但可以被非常量表达式初始化
这些域不是接口的一部分,被存储在接口的静态存储区域内
嵌套接口
接口可以嵌套在其他接口中
实现某个接口时,不需要实现嵌套在内部的接口
接口和工厂
典型设计模式:工厂方法模式
代码将完全和接口的实现分离,可以透明地将某个实现替换为另一个实现
- Java笔记整理:接口
- Java笔记整理——接口、继承与多态
- Java WebService 整理笔记
- java学习整理笔记
- Java WebService 整理笔记
- Java 并发整理笔记
- java RTTI笔记整理
- java 数组笔记整理
- java Annotation笔记整理
- Java学习笔记整理
- Java笔记整理:对象
- Java笔记整理:复用类
- Java笔记整理:多态
- Java反射笔记整理
- java基础笔记整理
- java笔记整理
- JAVA学习笔记整理三(抽象类、接口、匿名类)
- SoapUI接口测试工具学习笔记整理
- Java操作MongoDB3.2概述
- 稳定排序和不稳定排序
- 我的C++编程命名规范
- 收起键盘的多种方法
- 改变postgreSQL的默认schema
- Java笔记整理:接口
- MySql(25)------SQL MODE(sql模式)
- 自己的一些保研经历 ( CS/SE专业 )
- 程序退出小弹窗
- struct和typedef struct
- Longest Substring Without Repeating Characters最大字串问题
- VS2013常用快捷键
- 当你踌躇不前时,需阅读三遍
- 渺小 -- 2016-08-11 12:11