Java基础之接口Interface
接口interface
-
接口就是多个类的公共规范
-
接口是一种引用数据类型
-
如何定义一个接口:
public interface 接口名称 { //接口内容 }
接口包含的内容
(Java 7)
- 常量
- 抽象方法
(Java 8)
- 默认方法
- 静态方法
(Java 9)
- 私有方法
接口使用步骤:
-
接口不能直接使用,必须有一个“实现类”来实现接口。
格式:
public class 实现类名称 implements接口名称{...} -
实现类必须覆盖重写(实现)接口中所有抽象方法。
-
创建实现类的对象,进行使用。
❗ 如果实现类没有实现接口中的所有抽象方法,这这个类必须为抽象类
默认方法的定义
-
格式:
public default 返回值类型 方法名称(参数列表){...} -
接口中的默认方法可以解决接口升级的问题
接口的静态方法
-
定义格式:``public static 返回值类型 方法名称(参数列表){...}`
-
用法:通过接口名称直接调用其中的静态方法
接口的私有方法
从Java9开始,接口中允许定义私有方法:
-
普通私有方法,解决多个默认方法之间重复代码问题
格式:
privata 返回值类型 方法名称(参数列表){...} -
静态私有方法,解决多个静态方法之间重复代码问题
格式:
privata static 返回值类型 方法名称(参数列表){...}
接口中常量的定义
- 格式:
public static final 数据类型 常量名称=数据值 - public static final 可省略
- 接口当中的常量必须进行赋值
- 接口中常量的名称,使用完全大写的字母,用下划线进行分隔(推荐命名规则)
接口的多实现
-
接口是没有静态代码块或构造方法的
-
一个类的直接父类是唯一的,但是一个类可以同时实现多个接口
格式:
public class 实现类名称 implements 接口1,接口2{...} -
如果实现类所实现的多个接口中,存在重复的抽象方法,那么只需要覆盖重写一次即可
-
如果实现类没有覆盖重写所有接口中的所有抽象方法,那么实现类就必须是一个抽象类
-
如果实现类所实现的多个接口中,存在重复的默认方法,那么实现类一定要对冲突的默认方法进行覆盖重写
-
如果一个类的直接父类当中的方法,和接口当中的默认方法产生了冲突,优先使用父类中的方法
接口的多继承
- 多个父接口当中的抽象方法可以重复
- 多个父接口当中的默认方法如果重复,子接口必须进行覆盖重写,且带着default关键字

关于Java中的接口Interface的基础知识
浙公网安备 33010602011771号