Java之接口
1、什么是接口
接口定义了实现类需要遵守的契约,从而在行为(方法)上约束我们的对象。
2、为什么要使用接口?
在Java中,由于没有多继承这个概念,主要是为了规避一个问题叫做菱形问题。在面向对象的编程思想中,有一个核心是面向接口编程的思想。在Java中有接口的这个概念,一来是为了解决没有多继承所带来的相关问题。二来是为了解耦。
项目开发中,我们通常会定义许多的对象,而这些对象的具体行为的实现是由我们对象当中的方法来实现的。这个时候我们就会想到通过具体的方法我们可以控制对象的行为。但是又有一个问题了,我如何来控制一群具有相同行为的对行呢?有的人可能会说,我可以通过定义父类方法继承他就可以控制了。但是又会有一个问题,因为我们Java是单继承的,那么我的子类这时候有需要继承其他类怎么办呢?
这时候就需要用到接口了。在接口当中我们可以通过定义的抽象方法体,让这些对象都遵守我们所定义的方法体。换句话说就是通过对象去实现我们定义的这些方法。从而促使这些对象都遵守这些约定。
在Java1.8之后有一个规定,凡是一个类实现了多个接口,那么这个类就实现了多继承。因为我们在实现这些接口的时候本质上是对接口当中的定义的抽象体/抽象方法的重写。
为什么可以解耦?主要是因为在接口中我们定义的都是抽象的方法体。
3、接口组成
一组公共的方法体
4、接口关键词:interface
5、实现关键词: implements
案例:分别计算平面和立体的长方、正方的周长和面积
6、接口特性
契约性:接口只负责提供契约(方法体),每个类负责契约的具体实现。
强制性:接口定义类的特征,所有实现类必须强制实现这些特征。也就是说必须实现所有的方法体。
抽象性:接口无法直接实例化。其中定义的方法也都是抽象的。
实现:
测试
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· winform 绘制太阳,地球,月球 运作规律
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· 上周热点回顾(3.3-3.9)