首页 > 其他分享 >接口

接口

时间:2023-09-06 12:02:37浏览次数:20  
标签:实现 默认 继承 接口 方法 public

接口

微信图片_20230818082816

 

接口的定义与特点

接口用关键字interface来定义

/*

声明了一个接口:体现一种规范,规范一定是公开的

*/

public interface InterfaceDemo{

        //常量

        //抽象方法

        //目标 :了解接口中的成分贴点,JDK 1.8之前接口中只能有抽象方法和常量

        //1.常量

        //public static final String SCHOOL_NAME = "SMY";

        String SCHOOL_NAME = "SMY";

        //2.抽象方法

        //注意:由于接口体现规范思想,规范默认都是公开的,所以代码层面 public abstract final可以省略不写

        //public abstract void run();

        void run();

}

 

 

什么是接口

接口也是一种规范

接口的基本使用:被实现

接口是用来被类实现(implements)的,实现接口的类称为实现类。实现类可以理解成所谓的子类

 

public class MyClass implements interface01,interface02,interface03,{

 

}

实现的关键字:implements

 

从上面可以看出

接口可以被类单实现 , 也可以被类多实现

 

接口实现的注意事项:

一个类实现接口,必须重写全部接口的全部抽象方法,否则这个类需要定义成抽象类

 

基本小节

类和类的关系:单继承

类和接口的关系:多实现

接口和接口的关系:多继承,一个接口可以同时继承多个作用

接口与接口的关系:多继承

 

接口多继承的作用

规范合并,整合多个接口为同一个接口,便于子类实现

 

JDK8开始接口新增方法

原因:项目v1.0上线没问题

项目v2.0要加新的方法,此时改了接口就要所有的实现类实现这些方法

允许接口中直接定义带有方法体的方法

第一种:默认方法

类似之前写的普通实例方法:必须用default修饰

默认会public修饰,需要用接口的实现类的对象来调用//因为接口不可创建对象

default void run(){

System.out.println("--开始跑--")

}

 

第二种:静态方法

默认会public修饰,必须static修饰

注意:接口的静态方法必须用本身的接口名来调用

static void inAddr(){

System.out.println("我在学接口中的静态方法")

}

 

第三种:私有方法

就是私有的实例方法:必须使用private修饰

从JDK1.9才开始有的

只能在本类中被其他的默认方法或者私有方法访问

 

private void go(){

System.out.println("--准备--")

}

 

自己在开发中很少使用,通常是java源码涉及到

使用接口的注意事项

接口绝对不能创建对象//接口是更加彻底的抽象

一个类实现多个接口,多个接口中有同样的静态方法不冲突//根本不可能用类去调用接口中的静态方法

一个类继承了父类,同时又实现了接口,父类中的接口中有同名方法的,默认用父类的//就近原则,父类离他更近,接口也不能继承父类

一个类实现了多个接口,多个接口中存在同名的默认方法,不冲突,这个类重写该方法即可//类会冲突,接口为了维护自己多继承的机制,让子类可以重写,这种情况下不能使用任何已经实现的接口中的默认方法,只能自己重写

一个接口继承多个接口,是没有问题的,如果多个接口中存在规范冲突则不能多继承

 

一句话总结:

定义接口,描述功能,如果有人要用,实现接口

 

标签:实现,默认,继承,接口,方法,public
From: https://www.cnblogs.com/hang-/p/17681953.html

相关文章

  • 接口注意事项
    1接收接口使用同步或异步的优缺点同步:需要等待接口返回数据才能往下执行优点:实时性强,流程容易控制缺点:需要阻塞等待异步:无需等待接口返回数据即可往下执行优点:无需阻塞等待缺点:流程控制较为复杂,可能需要回调操作,更多的多线程开销使用场景:需要根据具体业务需求判断......
  • 《Head First Java》学习笔记2--接口、构造函数与垃圾收集器
    接口:Java的接口就像是100%的纯抽象类接口的方法都带有public和abstract意义,这两个修饰符是属于选择性的完全不同的继承树的类可以实现相同的接口,使用接口就像是说“不管来自哪里,只要实现这个接口,别人就会知道你一定会履行这个合约”当用接口来作为多态......
  • C++中模块(DLL)对外暴露接口的几种方式
    函数导出:通过在函数前面加上导出修饰符(如__declspec(dllexport))来导出函数。优点是简单易用,缺点是无法避免函数名冲突,且需要手动导出每个函数。.def文件:通过定义一个.def文件,在其中指定要导出的函数名和入口点。优点是可以一次性导出多个函数,缺点是需要额外的.def文件,且与代码分......
  • 运用手机运营商二要素Api接口,守护您的账户和隐私,让您安心使用!
    随着移动互联网的普及,我们的生活离不开手机,手机成为了我们生活中不可或缺的一部分。但是随着移动支付的普及,手机支付在我们的生活中也变得越来越重要。手机支付是一种方便快捷的支付方式,但是也存在一些安全隐患。如果我们在使用手机支付时不小心泄露了我们的账户和隐私,那么后果不......
  • golang接口用法浅谈
    类型接口Go不是面向对象的语言,在go里通过不同的结构体实现同一组公共接口这种组合的形式实现多态,类似C++的类和虚函数定义类型接口(InterfaceDefinition):使用type关键字定义接口,指定接口的方法签名。方法签名由方法的名称、参数列表和返回值组成,但不包含方法体。接口......
  • IU5200集成30V的OVP功能,支持I2C接口,3A充电电流,1~4节锂电池升降压充电芯片
    IU5200D是一款自动申请快充输入,开关模式升降压充电管理IC,用于1~4节锂离子电池和锂聚合物电池,以及1~5节磷酸铁锂电池。芯片集成包括4开关MOSFET、输入和充电电流感应电路、电池以及升降压转换器的环路补偿。芯片具有3A的充电电流能力,充电电流可以通过外部电阻灵活可调。IU5200D内置......
  • 3天上手Ascend C编程丨带你认识Ascend C基本概念及常用接口
    本文分享自《 【2023·CANN训练营第一季】——AscendC算子开发入门——第一次课(核函数的定义及实现)》,作者:dayao。AscendC是CANN针对算子开发场景推出的编程语言,原生支持C和C++标准规范,最大化匹配用户开发习惯;通过多层接口抽象、自动并行计算、孪生调试等关键技术,极大提高算......
  • 干货|API接口测试技巧汇总
    1API接口介绍1.1RPC(远程过程调用)远程过程调用(英语:RemoteProcedureCall,缩写为RPC)是一个计算机通信协议。该协议允许运行于一台计算机的程序调用另一台计算机的子程序,而程序员无需额外地为这个交互作用编程。如果涉及的软件采用面向对象编程,那么远程过程调用亦可称作远程调用......
  • js 原生方法请求接口
    XNLHttpRequest(xhr)介绍:XMLHttpRequest(简称xhr)是浏览器提供的JavaScript对象,通过它,可以请求服务器上的数据资源。在jQuery中封装的AJAX函数,就是基于xhr,然后封装出jq中的ajax,然后就可以调用出get、post、ajax()三个方法在原生中实际上真正用到的,是XMLHttpRequest这个对象//g......
  • 五笔字根查询接口
    输入法,五笔打字,生活服务,字根查询一、接口介绍可对五笔字根口诀及五笔编码查询,希望能为您学习五笔输入法提供帮助。二、功能体验三、产品特点四、API文档4.1五笔字根查询查询4.1.1接入点说明查询五笔字根。4.1.2接口地址http[s]://route.showapi.com/1861-1?showapi_......