当前位置:网站首页>接口(第九天)
接口(第九天)
2022-08-02 00:19:00 【不习惯有你】
接口interface
java中的继承关系是单继承,如果拥有多个父类的时候,可以考虑使用接口进行实现
java中的接口具备广泛的使用
用法:
使用interface来修饰
接口中可以包含多个方法,且方法跟抽象类中的抽象方法一致,可以不写实现,子类在实现的时候必须要实现
子类实现接口使用implements关键词
特征:
1.接口中的所有方法都是抽象方法,不能包含方法的实现
2.接口中的所有方法的访问修饰权限都是public,不写并不是默认访问权限,而是public
3.接口不能被实例化
4.接口的子类必须要实现接口中所有的方法,跟抽象类有所不同,抽象类中的抽象方法必须要被子类实现
5.子类可以拥有实现多个接口public class A extends B implements C,D,E,F都是可以的
6.接口中的变量都是静态常量,如果变量没有使用static关键字修饰,它也表示静态常量,不用final关键字修饰,也是常量
7.接口中的方法和常量无论是否添加public修饰,默认的权限有且仅有一个,就是public
接口的使用
1.接口代表一种能力,接口中可以定义N多种方法,子类在进行实现的时候,必须要实现这些方法,将这些方法进行实现,就意味着具体了方法的能力
关心实现类有何能力,而不关心实现细节
2.接口是一种约定
接口是比抽象类还要抽象的抽象类
规范和具体实现的分离
接口就是规范,定义的是一组规则,体现了现实世界中“如果你是...则必须能...的思想”
接口的本质是契约,定制好后大家都遵守
接口相关规则:
可以定义一个新接口,用extends去继承一个已有的接口
可以定义一个类,用implements去实现一个接口中所有方法
可以定义一个抽象类,用implements去实现一个接口中部分方法
注意:extends必须位于implements之前
抽象类和接口的区别:
1.抽象类中的方法可以包含抽象方法,也可以有普通方法,接口中只能包含抽象方法
2.抽象类中使用abstract关键字来修饰,而接口使用interface关键字来修饰
3.子类使用extends关键字来继承抽象类,使用implements来实现接口
4.子类继承抽象类的时候必须要实现所有的抽象方法,普通方法可以不重写,而接口中所有的方法必须实现
5.抽象类中可以定义成员变量,而接口中只能定义静态常量
6.抽象类在子类实现的时候是单继承,而接口是多继承
7.抽象类和接口都不能实例化,但是抽象类中可以有构造方法,接口中不能有构造方法
8.抽象类中可以实现接口,并且不实现接口中的方法,而接口只能继承接口,不能实现接口
边栏推荐
- How to use the go language standard library fmt package
- Realize deletion - a specified letter in a string, such as: the string "abcd", delete the "a" letter in it, the remaining "bcd", you can also pass multiple characters to be deleted, and pass "ab" can
- js中内存泄漏的几种情况
- dayjs时间处理库的基本使用
- JSP built-in object out object function introduction
- mapbox使用教程
- 460. LFU cache
- MLX90640 红外热成像仪测温传感器模块开发笔记(十) 成果展示-红眼睛相机
- 技术分享 | 接口测试中如何使用Json 来进行数据交互 ?
- PHP to read data from TXT file
猜你喜欢

Redis的集群模式

bgp aggregation reflector federation experiment

测试用例:四步测试设计法

uni-app project summary

go mode tidy出现报错go warning “all“ matched no packages

理解分布式系统中的缓存架构(下)

使用jOOQ将Oracle风格的隐式连接自动转换为ANSI JOIN

Knowing the inorder traversal of the array and the preorder traversal of the array, return the postorder history array

Web开发

MLX90640 红外热成像仪测温传感器模块开发笔记(十) 成果展示-红眼睛相机
随机推荐
Are test points the same as test cases?
C语言:打印整数二进制的奇数位和偶数位
PowerBI商学院佐罗BI真经连续剧
字符串分割函数strtok练习
IDEA如何运行web程序
渗透测试与攻防对抗——渗透测试基础
ICML 2022 || 局部增强图神经网络GNN,在 GCN 和 GAT基础上 平均提高了 3.4% 和 1.6%
管理基础知识13
go mode tidy出现报错go warning “all“ matched no packages
冒泡排序函数封装
Debian侵犯Rust商标,妥协改名还是会得到豁免?
GateWay实现负载均衡
dayjs时间处理库的基本使用
Redis-消息发布订阅
期货开户手续费加一分是主流
Web开发
ECMAScript 2022 正式发布,有你了解过的吗?
C语言实现扫雷游戏
H5页面调用微信授权获取code
DFS详解