首页 > 编程语言 >JAVA——接口

JAVA——接口

时间:2024-05-24 10:54:37浏览次数:26  
标签:JAVA 实现 重写 接口 继承 方法 public

                                                     

前言:

接口是一种规范和标准,它是一些方法特征的集合,但无具体的实现细节。接口可以被类或其他接口实现,通过面向接口的编程,可以提高代码的复用率、可维护性、可扩展性。

1.接口概念

在现实生活中,我们都能见到接口,接口是一种公共规范和标准。符合规则则可以使用。

java中,接口可以看成是多个类的公共规范,是引用数据类型。

接口与抽象类有些类似,最核心的区别在于抽象类能包含普通方法和普通字段,且这些成员都能直接被子类使用(不用重写),而接口不能包含普通方法,且子类必须重写所有接口的抽象方法

2.语法规则和使用

关键字:interface(用于定义接口)

关键字:implements(用来实现接口)

接口的定义方式与类的定义方式类似,只需吧class换成interface即可

语法格式:interface 接口名称{

//抽象方法。。。

}

类要想使用接口,则通过implements来实现接口,并且重写接口的所有抽象方法(子类与父类为extends继承关系,类与接口是implements实现关系)

语法格式:class 类名 implements 接口名称{

//重写的抽象方法。。。

}

 接口的实用代码实例:

用笔记本完成使用鼠标,电脑的操作(USB接口)

USB:

KeyBoard:

Mouse:

Computer:

Test(调试测试):

3.接口的特性

(1)接口类型也是一种引用类型,不可以直接实例化对象

(2)接口中每一个方法都被指定隐藏为public abstract(不可修改,不可随意更换修饰符否则报错)

(3)接口中的方法无具体实现,只能由实现接口的类来重写实现

(4)重写接口的方法时,要注意实现类重写的访问权限要大于等于接口的方法的访问权限,已知接口的访问权限为public,则实现类重写方法时访问权限也必须为public

(5)接口中也可以存在成员变量,但是必须为public static final所修饰的,接口中的变量也被隐式的指定为public static final所修饰。

(6)接口不能有静态代码块和构造方法(但可以有静态方法和default修饰的方法)

(7)接口不是类,但是编译完成后的后缀带.class

(8)接口中被static 或 default所修饰的方法可以有具体实现

关键字:default(允许接口中存在有默认方法,用来修饰接口中的方法)

4.实现多个接口

对于继承来说,一个类只能继承一个父类,不支持多继承多个父类。所以有时候实现复杂多样化的代码会很麻烦。但一个类可以实现单个或多个接口,在java中,也经常使用一个类继承一个父类实现多个接口的写法

单个接口:

小明实现了run这个接口的方法

多个接口:

格式:implements 接口1,接口2,接口3...

小明不仅实现了跑步的方法,还实现了游泳的方法

注:一个类实现多个接口时,每个接口的抽象方法都要实现!!!

5.接口间的继承

接口与接口之间也可以继承,甚至可以多继承,利用extends来继承

多继承格式:extends 接口1,接口2,接口3...

如上述图:运动类继承了足球,游泳,跑步等接口,使用起来也会更加的多样化

但是同时也是要实现所有继承过来的抽象方法,结果是:

                       

标签:JAVA,实现,重写,接口,继承,方法,public
From: https://blog.csdn.net/2302_80521088/article/details/139107197

相关文章

  • Java并发编程之newFixedThreadPool线程池
    随着计算机硬件性能的不断提升,多核CPU的普及,现代计算机系统的性能越来越强大。在这样的环境下,如何更好地利用计算机系统的性能优势,提高程序的运行效率,是每一个Java开发者需要思考的问题。Java中提供了多线程编程的支持,但是在多线程编程中,线程的创建、启动、调度等都需要耗费一定的......
  • java Long 与long转换
    https://blog.51cto.com/u_16213451/7032984概述在Java中,Long是一个包装类,是long的封装类型。Long类提供了一些方法,用于在long和其他数据类型(如String)之间进行转换。本文将详细介绍如何在Java中实现Long和long之间的转换。流程以下是将Long和long相互转换的流程:步骤描述......
  • 接口设计的18条军规
    前言之前写过一篇文章《表设计的18条军规》,发表之前,在全网广受好评。今天延续设计的话题,给大家总结了接口设计的18条军规,希望对你会有所帮助。1.签名为了防止API接口中的数据被篡改,很多时候我们需要对API接口做签名。接口请求方将请求参数+时间戳+密钥拼接成一个字符串......
  • Java基于saas模式云MES制造执行系统源码Spring Boot + Hibernate Validation什么是MES
    Java基于saas模式云MES制造执行系统源码SpringBoot+HibernateValidation什么是MES系统?MES制造执行系统,通过互联网技术实现从订单下达到产品完成的整个生产过程进行优化管理。能有效地对生产现场的流程进行智能控制,防错防呆防漏,自动化集成各种制造信息,使管理者准确掌控工......
  • 【Golang】在Go语言中如何实现接口
    文章目录前言一、函数解释二、代码实现三、总结前言接口是Go语言中的一个核心概念,它为类型定义了行为。接口提供了一种方式,使得不同的类型可以被同样对待,只要它们实现了相同的接口。在这篇博客中,我们将讨论如何在Go语言中实现接口。一、函数解释在Go语言中,接口是......
  • Java 9的模块化系统(JPMS):探讨Java 9引入的模块化系统,并解释其对Java生态的影响
    Java9模块化系统(JPMS)简介Java9模块系统,也被称为Java平台模块系统(JPMS),它是Java9的核心特性之一,用于改进Java的大型应用的封装性和可维护性。 JPMS的主要功能如下: 模块化代码:JPMS允许你将代码库划分为不同的模块,在没有显示声明的情况下,模块内部的类......
  • Java异常处理:共享在设计和实现Java异常处理策略时的最佳实践
    一、概览Java异常处理的最佳实践通常包括以下几个方面:有效使用Java提供的异常类型,创建和使用自定义异常,异常链,异常处理策略,以及记录和传播异常。二、有效使用Java提供的异常类型检查异常(CheckedException):这些异常是在编译阶段就会被检查的异常,通常是预期内的问题......
  • JavaScript 动态网页实例 —— 简单的表单验证
            表单验证是网页设计、特别是网站设计中必不可少的内容,狭义的验证指“用户是否进行了输入”、“输入的数据类型或格式是否符合要求”等,而广义的验证则包括口令确认与身份验证等内容。本章和下一章对表单验证的方式、方法进行介绍,本章只介绍一些简单的验证,包括:......
  • JAVA计算机毕业设计基于SpringBoot的疫苗接种管理系统(附源码+springboot+开题+论文)
    本系统(程序+源码)带文档lw万字以上 文末可获取一份本项目的java源码和数据库参考。系统程序文件列表开题报告内容研究背景随着全球范围内新冠疫情的爆发和持续,疫苗接种成为了防控疫情的重要手段。然而,疫苗接种的管理涉及到众多的环节和人员,如何有效地管理和跟踪接种者的接......
  • JAVA计算机毕业设计基于SpringBoot的窈窕之求食单平台的设计与实现(附源码+springboot+
    本系统(程序+源码)带文档lw万字以上 文末可获取一份本项目的java源码和数据库参考。系统程序文件列表开题报告内容研究背景随着生活节奏的加快和人们健康饮食意识的提升,越来越多的消费者开始关注菜谱的选择和制作。然而,市场上缺乏一个统一的、便捷的在线平台,用于提供丰富的......