接口

简介: 接口

概念

物理接口

指的是两个硬件设备之间的连接方式。硬件接口既包括物理上的接口,比如我们所以说的USB接口

Java接口

在Java中,接口表示一种规范/约束/要求实现者必须遵循该规范:用来约束使用者应该怎么做

规范和实现相分离的好处

主板上提供了USB插槽,只要一个遵循了USB规范的鼠标,就可以插入USB插槽,并与主板正常通信。至于这个鼠标是谁生产的,内部是如何实现的,主板都不需要关心(只要遵循了USB规范就可以插在主板上使用)。当鼠标坏了的时候,我主板不会坏

Java接口定义

概念

Java接口也是表示一种规范,使用抽象方法来去定义一组功能,实现者必须给提供方法的实现。

接口定义

interface 接口名称 {
}

接口当中的注意点

  1. 接口是没有构造器,接口是不能创建对象。
  2. 接口当中定义变量,都是全局的静态常量。
  3. 接口当中定义的方法都是公共的抽象的方法。
  4. 接口是可以继承,它是可多继承。interface 接口名称 extends 继承的接口名, 继承的接口名

接口实现

格式

类名 extends 其它的类 (只能继承一个类)implements 其它的接口(接口可以实现多个)

// 爬行动物规范
interface Iwalkable {
  public abstract void walk();
}
// 水生动物
interface Iswimable {
  void swim();
}
// 两栖动物
interface Iamphibiousable extends Iwalkable, Iswimable {
}

class Animal {
  String name;
  String Color;
}
// Cat实现了Iwalkable接口
// 实现关系有时候也称它是继承关系
class Cat extends Animal implements Iwalkable,Iswimable{
  // 覆盖的时候,子类的方法权限要比父类大,或者一样大,不能比它小
  public void walk() {
    System.out.println("走猫步");
  }
  public void swim() {
  }
}

接口与抽象类区别

相同点

  1. 都是被其它类实现
  2. 都不能实例化
  3. 都可以定义抽象方法,定义的抽象方法子类都必须得要覆盖

不同点

  1. 接口是没有构造器,抽象类当中是有构造器
  2. 抽象类可以包含普通方法和抽象方法,接口当中只能有抽象方法,不能有普通方法(带有方法体)
  3. 接口当中默认成员变量,要有初始值,都是静态的
  4. 方法:接口当中默认方法 public abstract 方法名;抽象类、默认的权限

面向接口编程

概述

把实现类对象赋值给接口类型的变量,多态的好处:屏蔽了不同类之间实现差异,从而达到通用编程。

接口多态

把实现类赋值给接口运行时,运行的仍是实现类

相关文章
|
NoSQL Redis Windows
如何在windows上部署多个Redis实例
在学习Redis的复制、集群等功能的时候,需要多个Redis实例才能完成。这就需要知道如何在windows上部署多个Redis实例,下面我给大家讲一下如何进行相关操作,希望大家和我一起进步,一起提高!
463 0
如何在windows上部署多个Redis实例
|
机器学习/深度学习 算法 数据可视化
小白都能看懂!手把手教你使用混淆矩阵分析目标检测
首先给出定义:在机器学习领域,特别是统计分类问题中,混淆矩阵(confusion matrix)是一种特定的表格布局,用于可视化算法的性能,矩阵的每一行代表实际的类别,而每一列代表预测的类别。
2552 0
小白都能看懂!手把手教你使用混淆矩阵分析目标检测
|
存储 数据管理 Java
基于OSS、NFS构建高性能可扩展的遥感智能解译系统实践之路
该文探讨了构建高性能、可扩展的遥感智能解译系统的架构演进过程。作者强调架构应根据业务场景而定,而非追求单一的“最佳”架构。文章分为五个部分,介绍了从初步的业务场景分析到逐步优化的架构设计。 1. 业务场景描述了服务于地理信息行业的遥感数据管理平台,包括数据湖和遥感智能解译系统的功能和架构设计。 2. 初代系统解决了数据管理和智能解译的基本需求,但存在数据同步效率低下的问题。 3. 自动化阶段通过消息推送和数据接收模块减少了人工干预,将处理时间减半,但仍存在效率和稳定性问题。 4. 高性能阶段引入数据订阅/推送和数据接收Agent,实现了稳定、高速的数据传输,性能提升了6倍。
49188 2
|
网络虚拟化 网络架构
【eNSP 华为模拟器】三层交换技术及操作步骤【图文】
【eNSP 华为模拟器】三层交换技术及操作步骤【图文】
2302 0
【eNSP 华为模拟器】三层交换技术及操作步骤【图文】
|
IDE API 开发工具
Visual Studio编辑器还原项目NuGet提示某 NuGet 程序包还原失败:找不到“xxx”版本的程序包“xxx”
Visual Studio编辑器还原项目NuGet提示某 NuGet 程序包还原失败:找不到“xxx”版本的程序包“xxx”
702 0
Visual Studio编辑器还原项目NuGet提示某 NuGet 程序包还原失败:找不到“xxx”版本的程序包“xxx”
|
前端开发 数据可视化 机器人
基于YAPI的接口工作流
基于YAPI的接口工作流
761 0
基于YAPI的接口工作流
|
云安全 运维 监控
德勤Landing Zone :一站式云上管理及安全合规治理
德勤管理咨询中国总监张志钢,受邀于2022·云栖大会-云上安全与合规峰会上发表主题演 文章列表配讲。
德勤Landing Zone :一站式云上管理及安全合规治理
|
人工智能 监控 搜索推荐
开启AI时代,ChatGPT和Whisper API隆重登场!
ChatGPT 和 Whisper 模型现在已经可以在 OpenAI 的 API 上使用,使开发人员可以获得尖端的语言处理(不仅仅是聊天!)和语音转文本功能。通过一系列系统级别的优化,自去年 12 月以来,OpenAI 团队已经实现了 ChatGPT 的成本降低了 90%;现在正在将这些节省成本传递给 API 用户。开发人员现在可以在 API 中使用 OpenAI 开源的 Whisper large-v2 模型,获得更快速和经济实惠的结果。ChatGPT API 用户可以期待持续的模型改进,并选择专用容量以更深入地控制模型。密切听取了开发人员的反馈,并改进了 API 服务条款,以更好地满足用户
|
城市大脑 运维 算法
城市大脑 | 数字规划建设解决方案
本文介绍了城市大脑 | 数字规划建设解决方案的方案概述,方案价值及优势以及最佳实践。
城市大脑 | 数字规划建设解决方案
|
存储 SQL 关系型数据库
[Database] MySQL 系统表解析以及各项指标查询
[Database] MySQL 系统表解析以及各项指标查询
935 0