Java中的接口详解

Posted libinhong

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Java中的接口详解相关的知识,希望对你有一定的参考价值。

接口

是Java语言中一种引用类型,是方法的集合,如果说类的内部封装了成员变量、构造方法和成员方法,那么接口的内部主要就是封装了方法,包含抽象方法(JDK 7及以前),默认方法和静态方法(JDK 8),私有方法(JDK 9)。

接口的定义:

它与定义类方式相似,但是使用 interface 关键字。它也会被编译成.class文件,但一定要明确它并不是类,而是另外一种引用数据类型。

引用数据类型:数组,类,接口。

接口的使用:

它不能创建对象,但是可以被实现(implements ,类似于被继承)。一个实现接口的类(可以看做是接口的子类),需要实现接口中所有的抽象方法,创建该类对象,就可以调用方法了,否则它必须是一个抽象类。

定义格式:

public interface 接口名称 
    // 抽象方法
    // 默认方法
    // 静态方法
    // 私有方法

final: 关键字,表示终态的意思,如果修饰变量,该变量就变成常量

常量:使用public static final

接口中的常量有默认修饰符:public static final 可以省略

 

接口的实现

类与接口的关系为实现关系,即类实现接口,该类可以称为接口的实现类,也可以称为接口的子类。实现的动作类似继承,格式相仿,只是关键字不同,实现使用 implements关键字。

非抽象子类实现接口:

  1. 必须重写接口中所有抽象方法。

  2. 继承了接口的默认方法,即可以直接调用,也可以重写。

class 类名 implements 接口名 
    // 重写接口中抽象方法【必须】
      // 重写接口中默认方法【可选】
 

 

接口中定义抽象方法

抽象方法:没有方法体的方法,并且使用abstract关键字修饰

默认修饰符:public abstract 可以省略

public abstract 返回值类型 方法名(形参);

接口中定义默认方法--有方法体的方法

 

默认方法:使用 default 修饰,不可省略,供子类调用或者子类重写。

 

 

public default 返回值类型 方法名(形参)
    方法体

 

接口中静态方法的定义

 

public static 返回值类型 方法名(形参)
   方法体

 

接口中定义私有方法

 

私有非静态方法

private 返回值类型 方法名(形参)
   方法体

私有静态方法

Private static 返回值类型 方法名(形参)
   方法体

 

 

 

 

接口的特点

接口就是一种引用数据类型

接口中只能定义常量和方法(抽象方法,静态方法,默认方法,私有方法)

接口不能定义成员变量和构造方法

接口不能创建对象,只能通过其实现类来使用

 

以上是关于Java中的接口详解的主要内容,如果未能解决你的问题,请参考以下文章

java 代码片段

Runnable接口详解?

java中class对象详解,在spring中的使用场景

将接口从片段传递到kotlin中的活动

Java中的接口详解

Java8中的函数式接口SupplierConsumerBiConsumer详解