一、概念
(一)定义
接口是一种标准,是接口实现者和使用者必须遵循的约定。
(二)语法(jdk7.0)
1. 关键字: interface ,语法格式为 interface 接口名{}
2. 特点:
- 不能创建对象,但可声明引用,如 接口名 引用名;
- 属性默认被 public static final 修饰,为公开、静态、常量
- 方法默认被 public abstract 修饰,为公开、抽象方法
- 无构造方法
二、实现类
(一)实现语法
class 类名 implements 接口名{}
(二)实现类要求
若实现类不想成为抽象类,需覆盖接口中所有抽象方法,且覆盖方法时访问权限必须是 public (因接口方法默认权限为 public )
三、接口之间的继承性
(一)接口与接口的多继承关系
1. 一个接口可同时继承多个接口,语法为 interface 接口名 extends 父接口1,父接口2{}
2. 类实现接口时,需实现所有方法(含父接口方法 )
(二)类和接口的多实现关系
1. 一个类可同时实现多个接口,语法为 class 类名 implements 接口1,接口2{}
2. 类实现多个接口时,需覆盖所有接口的抽象方法(否则为抽象类 )
(三)类继承父类同时实现接口
1. 语法: class 类名 extends 父类 implements 接口,接口2{}
2. 注意:继承在前,实现在后
四、接口的影响
因接口间多继承、类与接口间多实现关系,利用父类型(父类 + 父接口 )存储子类型对象体现多态,让多态更灵活多元。注意:接口类型引用调用方法,只能调该接口定义的方法
五、接口的新特性
(一)jdk8.0特性
1. 默认方法:
- 语法: default 返回值类型 方法名(形参列表){}
- 特点:可带方法实现部分,访问权限为 public
2. 静态方法:
- 语法: static 返回值类型 方法名(形参列表){}
- 特点:可带实现部分,默认访问权限 public ,使用方式 接口名.静态方法名(实参);
(二)jdk9.0特性
私有方法:
- 语法: private 返回值类型 方法名(形参列表){}
- 作用:定义接口内部组件,降低冗余
六、接口的分类
(一)普通接口
含多个抽象方法,可能有属性,开发中最常见
(二)常量接口
无抽象方法,只有属性(了解即可 ),示例:
interface IA{
int m = 8;
}
(三)标记接口(空接口 )
无任何属性和抽象方法(开发会用 ),示例:
interface IC{}
(如用于对象序列化 )
(四)函数式接口
有且仅有一个抽象方法(重点 ),示例:
interface IB{
void m1();
}
用于 jdk8.0 Lambda 表达式开发
七、接口和抽象类的区别(面试重点)
对比项 抽象类 接口
关键字 abstract class interface
继承/实现关键字 extends (类继承抽象类) implements (类实现接口)
属性 实例变量、静态变量,4个访问修饰符可修饰 公开静态常量(默认 public static final 修饰 )
方法 抽象方法、普通成员方法(4个访问修饰符任意修饰对应方法 ) 抽象方法( public abstract )、静态方法(jdk8.0, public )、默认方法(带实现, public )、私有方法(jdk9.0 )
构造方法 有构造方法 无构造方法
继承关系 单继承 多继承
第十章:接口笔记
最新推荐文章于 2026-04-22 19:36:18 发布
886

被折叠的 条评论
为什么被折叠?



