一、接口基础概念
1. 核心含义
接口相当于一套统一规则、行业标准,不管是写代码去实现这套规则,还是调用这套规则的代码,都必须严格遵守约定。
2. 基础语法规则
– 定义接口专用关键字: interface
格式: interface 接口名称 {}
– 接口编译后,会单独生成一份 .class 字节码文件
– 接口本身不能直接 new 创建实例对象,但可以定义接口类型的变量(引用)
– 接口里定义的变量:默认自带 public static final ,也就是公共静态常量,必须初始化且不能修改
– 接口里普通方法:默认自带 public abstract ,全部是公共抽象方法,没有方法体
– 接口不存在构造方法
补充区分:接口不属于类,和普通类、抽象类是两种不同结构。
二、接口的实现类(开发常用核心)
1. 实现语法
用 implements 关键字让普通类绑定接口:
class 类名 implements 接口名 {}
2. 关键注意事项
– 如果实现接口的类是普通类(不声明 abstract),必须重写接口里全部抽象方法,一个都不能少;
– 重写接口方法时,访问权限只能用 public ,不能缩小权限。
3. 典型使用方式(多态)
接口类型 变量名 = new 实现类();
原理:父类引用指向子类对象,这里是接口引用指向它的实现类实例,属于多态,写业务代码时基本都按这个规范写。
示例完整代码
java
public class TestInter2{
public static void main(String[] args){
// 接口引用接收实现类对象,多态写法
MyInter mi = new MyClass();
mi.m1();
int n = mi.m2();
System.out.println(n);
}
}
// 自定义接口
interface MyInter{
int n = 3; // 等价 public static final int n = 3;
void m1(); // 抽象无参方法
int m2(); // 带返回值抽象方法
}
// 接口实现类
class MyClass implements MyInter{
// 重写接口m1方法,必须加public
public void m1(){
System.out.println("m1的方法…");
}
// 重写接口m2方法
public int m2(){
System.out.println("m2的方法…");
return 0;
}
}
4. 接口回调概念
先定义好接口规范,先写调用接口的业务代码,后续再补充接口的具体实现类;
开发思路:业务只依赖接口标准,我们只需要按照接口定义,补全对应的实现逻辑即可。
三、面试重点:接口 vs 抽象类核心区别
对比维度 接口 interface 抽象类 abstract class
定义关键字 interface abstract class
成员变量 只能是 public static final 公共静态常量,赋值后不可修改 无限制:实例变量、静态变量、常量final都能定义
内部方法 全是 public 抽象方法,无普通带方法体的方法 既能写抽象方法,也能写有完整代码的普通成员方法
构造函数 完全没有构造方法 拥有构造方法,供子类实例化时初始化
继承拓展 一个类可以同时实现多个接口(多实现,等同于多继承) 类只能单继承,一个子类只能继承一个抽象父类
![基于SpringBoot的企业资产借还与维修管理系统[源码免费+文档免费]-171主机测评](https://www.171host.com/wp-content/uploads/2026/08/20260825170029-6a8dca2dbb882-220x150.png)


