【Java 接口】接口(Interface)的定义,implements关键字,接口实现方法案例

简介: 【Java 接口】接口(Interface)的定义,implements关键字,接口实现方法案例


接口简介 🎃

Java中的接口(Interface)是一种特殊的抽象类,它只包含了方法的声明,而没有方法的实现。接口可以看作是一种规范或者契约,它规定了实现类必须实现哪些方法,但是并不关心这些方法的具体实现。

接口的定义 🧧

public interface 接口名 {
    // 声明方法,不包含方法体
    返回类型 方法名(参数列表);
    返回类型 方法名(参数列表);
    // ...
}

接口名可以由字母数字下划线组成,但是不能以数字开头;方法的声明和普通方法一样,只是没有方法体,直有方法签名

接口实现类名定义 🎁

接口的实现类必须实现接口中声明的所有方法, 否则会编译错误, 实现类使用implements关键字来实现接口

public class 实现类名 implements 接口名 {
    // 实现接口中声明的所有方法
    返回类型 方法名(参数列表) {
        // 方法体
    }
}

接口实现类小案例 🎈

下面是一个简单的例子,定义了一个Shape接口,包含了计算面积和周长的方法,以及一个Circle类和一个Rectangle类分别实现了这个接口

----------------------------------------------------------------------------------------------
public interface Shape {
    // 计算面积
    double getArea();
    // 计算周长
    double getPerimeter();
}
----------------------------------------------------------------------------------------------
public class Circle implements Shape {
    private double radius; // 圆的半径
    public Circle(double radius) {
        this.radius = radius;
    }
    @Override
    public double getArea() {
        return Math.PI * radius * radius;
    }
    @Override
    public double getPerimeter() {
        return 2 * Math.PI * radius;
    }
}
----------------------------------------------------------------------------------------------
public class Rectangle implements Shape {
    private double width; // 矩形的宽
    private double height; // 矩形的高
    public Rectangle(double width, double height) {
        this.width = width;
        this.height = height;
    }
    @Override
    public double getArea() {
        return width * height;
    }
    @Override
    public double getPerimeter() {
        return 2 * (width + height);
    }
}
----------------------------------------------------------------------------------------------

在上面的例子中,Shape接口定义了getArea()getPerimeter()两个方法,Circle类和Rectangle类分别实现了这个接口,并实现了这两个方法

后话 🎰

不知不觉,Java 基础部分 就已经写到 面向对象第二大部分了,希望各位学习顺利,大家一起加油

大家一定要提起精神,抓紧基础,一些文档上并未提及的API大家也是要去看的,不单单是看我写的这一篇博客,不过现在看来,Java SE针对有点基础的同学来说还是比较简单易学的


给大家推荐一个国内免费ChatGPTAI 文本工具

也比较推荐大家去使用ChatGPT的,不过借用外力工具时,不会去搜没关系,一定要时时刻刻的去学习,永远借助外力而自己不去丰富技术的人是不会有任何成就的。

相关文章
|
消息中间件 缓存 前端开发
从资损百万到零事故:Java 接口幂等设计的艺术与实践
在分布式系统中,重复请求常引发严重资损,如支付双扣、库存超卖等问题,其根源在于接口缺乏幂等性设计。本文通过真实案例揭示幂等性的重要性,并详解8种主流解决方案,涵盖唯一请求ID、乐观锁、悲观锁、状态机等,帮助开发者构建稳定系统,保障业务一致性。无论你是架构师还是开发工程师,都能从中获得实战指导,有效规避重复调用带来的风险。
1331 2
|
数据采集 JSON Java
Java爬虫获取1688店铺所有商品接口数据实战指南
本文介绍如何使用Java爬虫技术高效获取1688店铺商品信息,涵盖环境搭建、API调用、签名生成及数据抓取全流程,并附完整代码示例,助力市场分析与选品决策。
|
自然语言处理 前端开发 Java
JBoltAI 框架完整实操案例 在 Java 生态中快速构建大模型应用全流程实战指南
本案例基于JBoltAI框架,展示如何快速构建Java生态中的大模型应用——智能客服系统。系统面向电商平台,具备自动回答常见问题、意图识别、多轮对话理解及复杂问题转接人工等功能。采用Spring Boot+JBoltAI架构,集成向量数据库与大模型(如文心一言或通义千问)。内容涵盖需求分析、环境搭建、代码实现(知识库管理、核心服务、REST API)、前端界面开发及部署测试全流程,助你高效掌握大模型应用开发。
1234 5
|
12月前
|
算法 安全 Java
除了类,Java中的接口和方法也可以使用泛型吗?
除了类,Java中的接口和方法也可以使用泛型吗?
302 11
|
11月前
|
Java Go 开发工具
【Java】(9)抽象类、接口、内部的运用与作用分析,枚举类型的使用
抽象类必须使用abstract修饰符来修饰,抽象方法也必须使用abstract修饰符来修饰,抽象方法不能有方法体。抽象类不能被实例化,无法使用new关键字来调用抽象类的构造器创建抽象类的实例。抽象类可以包含成员变量、方法(普通方法和抽象方法都可以)、构造器、初始化块、内部类(接 口、枚举)5种成分。抽象类的构造器不能用于创建实例,主要是用于被其子类调用。抽象类中不一定包含抽象方法,但是有抽象方法的类必定是抽象类abstract static不能同时修饰一个方法。
401 1
|
存储 缓存 安全
Java集合框架(二):Set接口与哈希表原理
本文深入解析Java中Set集合的工作原理及其实现机制,涵盖HashSet、LinkedHashSet和TreeSet三大实现类。从Set接口的特性出发,对比List理解去重机制,并详解哈希表原理、hashCode与equals方法的作用。进一步剖析HashSet的底层HashMap实现、LinkedHashSet的双向链表维护顺序特性,以及TreeSet基于红黑树的排序功能。文章还包含性能对比、自定义对象去重、集合运算实战和线程安全方案,帮助读者全面掌握Set的应用与选择策略。
1444 23
|
安全 Java 开发者
Java集合框架:详解Deque接口的栈操作方法全集
理解和掌握这些方法对于实现像浏览器后退功能这样的栈操作来说至关重要,它们能够帮助开发者编写既高效又稳定的应用程序。此外,在多线程环境中想保证线程安全,可以考虑使用ConcurrentLinkedDeque,它是Deque的线程安全版本,尽管它并未直接实现栈操作的方法,但是Deque的接口方法可以相对应地使用。
568 12
|
存储 安全 Java
Java集合框架(一):List接口及其实现类剖析
本文深入解析Java中List集合的实现原理,涵盖ArrayList的动态数组机制、LinkedList的链表结构、Vector与Stack的线程安全性及其不推荐使用的原因,对比了不同实现的性能与适用场景,帮助开发者根据实际需求选择合适的List实现。
1333 0
|
Java API 网络架构
java调用api接口自动判断节假日信息
java调用api接口自动判断节假日信息
3952 0