首页 > 编程语言 >JAVA中的接口详解

JAVA中的接口详解

时间:2023-05-21 21:45:09浏览次数:32  
标签:JAVA 继承 适配器 接口 实现 详解 抽象 方法

JAVA中的接口详解

接口中成员的特点

成员变量:只能是常量

默认修饰符:public,static,final

构造方法:没有

成员方法:只能是抽象方法

默认修饰符:public,abstract

 

接口和类的关系

  1. 类和类的关系:继承关系,只能是单继承,不能多继承,但可以多层继承

  2. 类和接口的关系:实现关系,可单实现,也可多实现,还可以在继承一个类的同时实现多个接口

  3. 接口和接口的关系:继承关系,可以单继承,也可以多继承

 

接口方法

  • jdk7以前:接口只能定义抽象方法

  • jdk8:接口中可以定义有方法体的方法(默认 静态)

  • jdk9:接口中可以定义私有方法

私有方法分为两种:普通的私有方法,静态的私有方法

 

接口代表规则,是行为的抽象,想要哪个类拥有一个行为就让这个类实现对应的接口就可以了

 

当一个方法的参数是接口时,可以传递接口所有实现类的对象,这种方式称为接口多态

 

当一个接口中抽象方法过多,但是我只要使用其中一部分的时候,就可以适配器设计模式

步骤:

  1. 编写中间类xxxAdapter,实现对应的接口

  2. 对接口中的抽象方法进行空实现

  3. 让真正的实现类继承中间类并重写方法

  4. 为了避免其他类创建适配器类的对象,中间的适配器类用abstract进行修饰

标签:JAVA,继承,适配器,接口,实现,详解,抽象,方法
From: https://www.cnblogs.com/longlonglong777/p/17419233.html

相关文章

  • JavaWeb中Filter&Listener的神奇作用
    @[toc]1,Filter1.1Filter概述Filter表示过滤器,是JavaWeb三大组件(Servlet、Filter、Listener)之一。过滤器可以把对资源的请求拦截下来,从而实现一些特殊的功能。如下图所示,浏览器可以访问服务器上的所有的资源(servlet、jsp、html等)而在访问到这些资源之前可以使过滤器拦截来下,......
  • Java 世界的法外狂徒:反射
    概述反射(Reflection)机制是指在运行时动态地获取类的信息以及操作类的成员(字段、方法、构造函数等)的能力。通过反射,我们可以在编译时期未知具体类型的情况下,通过运行时的动态查找和调用。虽然Java是静态的编译型语言,但是反射特性的加入,提供一种直接操作对象外的另一种方式,让......
  • mysql联合索引详解
    所有的MySQL列类型能被索引。在相关的列上的使用索引是改进SELECT操作性能的最好方法。一、前缀索引对于CHAR和VARCHAR列,你可以索引列的前缀。这更快并且比索引整个列需要较少的磁盘空间。在CREATETABLE语句中索引列前缀的语法看起来像这样:KEYindex_name(col_name(length))下面......
  • DataFrameGroupBy.agg详解
    DataFrameGroupBy.agg(arg, *args, **kwargs)[source]Aggregateusingcallable,string,dict,orlistofstring/callablesParameters:funcFunctiontouseforaggregatingthedata.Ifafunction,musteitherworkwhenpassedaDataFrameorwhenpassedto......
  • knife4j配置swagger接口测试
    导入依赖1<dependency>2<groupId>com.github.xiaoymin</groupId>3<artifactId>knife4j-spring-boot-starter</artifactId>4<version>3.0.3</version>5......
  • 2023/5/21每日随笔 调用chatgpt接口实现项目的基本需要
    首先,对于我要求的工作,gpt完美胜任,那么问题来了,怎么调用chatgpt,是可以免费调用的,但需要keyword,也就得进入chatgpt官网,就得用外网,但是要它的api应用到android上,外网手段就不可取了,于是,准备冲别人搭建的平台上调用,很幸运的是,在B站上还真的找到资源,up主也很好,教我一步一实现,搭建了以......
  • 取名算法之用JAVA实现姓名测试
    一文中我谈到了名字的重要性。 作为易学高手的我(大师♂罗莊)对告诉各位码农如何制作取名系统 负有不可推卸的责任。 本次课程没有什么难度,就是根据名字笔画来计算天地人三才格 笔画的五行算法已经在上一讲说过,就是去十位数,个位来判断五行 取名算法之用JAVA实现汉字五......
  • 3.JUC【Java面试第三季】
    3.JUC【Java面试第三季】前言推荐3.JUC06_闲聊AQS面试1.题目+说明07_可重入锁理论2.可重入锁说明“可重入锁”这四个字分开来解释可重入锁的种类08_可重入锁的代码验证-上09_可重入锁的代码验证-下3.LockSupport10_LockSupport是什么LockSupport是什么11_waitNotify限制==线程等待......
  • 2.Java基础【Java面试第三季】
    2.Java基础【Java面试第三季】前言推荐2.Java基础01_字符串常量Java内部加载-上58同城的java字符串常量池面试code讲解intern()方法---源码+解释02_字符串常量Java内部加载-下whyOpenJDK8底层源码说明递推步骤总结考查点03_闲聊力扣算法第一题字节跳动两数求和题目说明面试题解法04......
  • 【Android】Uri、UriMatcher、ContentUris详解
     1.Uri通用资源标志符(UniversalResourceIdentifier,简称"URI")。Uri代表要操作的数据,Android上可用的每种资源-图像、视频片段等都可以用Uri来表示。 URI一般由三部分组成:访问资源的命名机制。 存放资源的主机名。 资源自身的名称,由路径表示。      Android的Uri由以......