Java接口

Posted bushishucai

tags:

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

接口是多个类的公共规范

接口是一种引用数据类型

各个版本

Java 7 : 1.常量  2.抽象方法

Java 8 : 3.默认方法 4.静态方法

Java 9 : 5.私有方法

注意

1. 接口中的抽象方法,修饰符固定 public abstract ,但可以省略

2. 接口不能有静态代码块和构造方法(不能new)

3. 一个类的直接父类是唯一的,但一个类可以同时实现多个接口

使用

1. 接口不能直接使用,必须有一个实现类来实现接口

2. 接口的实现类必须覆盖重写接口所有的抽象方法

3. 创建实现类的对象,进行使用

注意 : 如果实现类没有覆盖重写接口所有中的抽象方法,那这个实现类自己就必须是抽象类  

接口的常量(成员变量)

1. 必须使用 public static final 来修饰,可省略,从效果上看,就其实就是接口的常量

2 .接口中的常量,必须进行赋值

3. 接口中常量的名称,全大写字母,用_分隔

接口的默认方法

从Java 8开始,接口中允许定义默认方法(用于解决接口的升级问题)

接口的默认方法,可以由接口实现类对象直接调用

接口的默认方法,可以被接口实现类覆盖重写

接口的静态方法

 不能通过接口实现类的对象来调用接口的静态方法

一个类可以实现多个接口,可能会产生冲突,应该通过接口名称直接调用

接口的私有方法

我们要抽取一个共有方法,用来解决两个默认方法之间重复代码的问题

但这个共有方法不应该让实现类使用,应该是私有化的

普通私有方法 : 解决多个默认方法之间的重复代码问题

private 返回值类型 方法名( 参数列表 ){ 方法体 }

静态私有方法 : 解决多个静态方法之间的重复代码问题

private static 返回值类型 方法名( 参数列表 ){ 方法体 }

 实现多个接口时

1. 如果实现类所实现的多个接口中,存在重复的默认方法,那么实现类一定要对冲突的默认方法进行覆盖重写

2. 一个类的直接父类当中的方法,和所实现的接口中的默认方法产生冲突,优先用父类中的方法

接口之间的多继承

1. 多个父接口默认方法如果重复,那么子接口必须进行默认方法的覆盖重写,且带着default关键字

2. 多个父接口抽象方法如果重复,没关系

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

Java_接口

java中接口的定义是啥?

给个Java接口回调的例子

java中接口可以实现多个接口吗

java远程调用接口的原理和范例,谢谢

java接口和类有啥区别?