当前位置: 首页 > news >正文

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

在这里插入图片描述

博主:_LJaXi Or 東方幻想郷
专栏: Java | 从入门到入坟
专属:六月一日 | 儿童节

Java 接口

  • 接口简介 🎃
  • 接口的定义 🧧
  • 接口实现类名定义 🎁
  • 接口实现类小案例 🎈
  • 后话 🎰

接口简介 🎃

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;}@Overridepublic double getArea() {return Math.PI * radius * radius;}@Overridepublic 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;}@Overridepublic double getArea() {return width * height;}@Overridepublic double getPerimeter() {return 2 * (width + height);}
}
----------------------------------------------------------------------------------------------

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

后话 🎰

不知不觉,Java 基础部分 就已经写到 面向对象第二大部分了,希望各位学习顺利,大家一起加油
大家一定要提起精神,抓紧基础,一些文档上并未提及的API大家也是要去看的,不单单是看我写的这一篇博客,不过现在看来,Java SE针对有点基础的同学来说还是比较简单易学的


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

http://www.lryc.cn/news/91575.html

相关文章:

  • 解决Vmware上的kali找不到virtualbox上的靶机的问题
  • 查看MySQL服务器是否启用了SSL连接,并且查看ssl证书是否存在
  • 华为OD机试真题 Java 实现【表示数字】【牛客练习题】
  • 使用Python进行接口性能测试:从入门到高级
  • sed编辑器
  • 深入理解深度学习——正则化(Regularization):稀疏表示
  • 【Android】分别用JAVA和Kotlin实现横向扫描的动画效果
  • 长尾词挖掘,如何选择精准的长尾词优化?
  • Python相关环境变量配置和模拟手机app登录
  • c++ 11标准模板(STL) std::map(九)
  • 深入探索chatGPT插件:SceneXplain,Wolfram,和AppyPieAIAppBuilder
  • 华为OD机试真题B卷 Java 实现【停车场车辆统计】,附详细解题思路
  • 第二章:MySQL环境搭建
  • 生产环境之负载均衡LVS+keepalived方案(2)_LVS介绍
  • 【parsel】------- PYTHON爬虫基础4
  • MySQL数据库从入门到精通学习第8天(表数据的查询)
  • 什么是IPAM?如何使用IPAM来管理IP地址和DHCP?
  • PCIE学习
  • 商业智力,Social焕新|数说故事重磅发布“SocialGPT”,国内首个专注Social领域的商业大模型
  • STM32HAL库RS485-ModBus协议控制伺服电机
  • 【医学图像】图像分割系列.3 (uncertainty)
  • Java有线程安全的set吗?
  • 《HelloGitHub》第 86 期
  • LDGRB-01 3BSE013177R1 将数字输入和继电器输出结合
  • 手动计算校正年龄、性别后的标准化死亡率 (SMR)
  • Java组合模式:构建多层次公司组织架构
  • Langchain-ChatGLM:基于本地知识库问答
  • 设计模式十 适配器模式
  • 1.6 初探JdbcTemplate操作
  • 为什么要用线程池?