java接口学习
发布时间:2026/10/8 5:59:26 锦皓数字建站

一、接口是什么1. 核心定义接口是 行为的规范/标准/契约是Java中一种完全抽象的模板。简单大白话• 抽象类定义「这类事物是什么」属性部分行为• 接口定义「这类事物能做什么」只规范行为不关心实现2. 核心作用1. 解耦把「方法声明」和「方法实现」分开2. 统一规范所有实现类必须遵守同一套方法标准3. 突破单继承限制Java类单继承、多实现4. 多态核心载体接口多态是项目开发最常用多态形式二、接口的语法规则重点必考1. 定义格式// 定义接口public interface 接口名 {// 常量、抽象方法、默认方法、静态方法、私有方法}2. 接口命名规范• 大驼峰Run、AnimalMove、UserService• 习惯性后缀XXXService、XXXDao、XXXHandler开发规范三、接口内部五大成员JDK版本迭代变化1. JDK 7 及之前只有两种1全局常量• 默认修饰符public static final可省略系统自动补全• 一旦定义不能修改public interface MyInterface {// 等价 public static final int NUM 10;int NUM 10;}2抽象方法• 默认修饰符public abstract可省略• 没有方法体交给实现类重写void test();2. JDK 8 新增重点实用1默认方法带方法体• 修饰符public defaultdefault不能省• 作用接口升级不影响旧实现类解决接口扩展兼容问题default void sayHello(){System.out.println(我是接口默认方法);}2静态方法• 修饰符public static• 只能通过接口名调用不能通过实现类、对象调用static void staticMethod(){System.out.println(接口静态方法);}3. JDK 9 新增私有方法 private• 作用抽取默认方法、静态方法的重复代码仅供接口内部复用• 外部无法调用private void privateMethod(){// 内部工具方法}✅ 总结口诀• 常量默认 public static final• 抽象方法默认 public abstract• 默认方法必须写 default有方法体• 静态方法必须写 static接口名调用• 私有方法JDK9内部复用四、接口的实现核心使用方式1. 实现格式类 实现 接口implementspublic class 类名 implements 接口名{// 重写接口所有抽象方法}2. 实现规则1. 普通类实现接口必须重写所有抽象方法2. 抽象类实现接口可以不重写抽象方法3. 重写方法时权限只能放大不能缩小必须public3. 完整入门案例1定义接口// 行为标准会跑public interface Run {// 抽象方法void run();// JDK8默认方法default void info(){System.out.println(奔跑接口——默认方法);}}2实现类public class Dog implements Run{// 强制重写抽象方法Overridepublic void run() {System.out.println(小狗四条腿奔跑);}}3测试类public class Test {public static void main(String[] args) {Dog dog new Dog();dog.run();dog.info();}}五、接口的多实现Java核心亮点一个类可以同时实现多个接口突破单继承限制1. 语法public class A implements 接口1,接口2,接口3{// 重写所有接口的所有抽象方法}2. 冲突解决1. 多个接口同名抽象方法只需重写一次即可2. 多个接口同名默认方法必须主动重写否则编译报错六、接口与接口多继承接口可以 继承多个接口类只能单继承接口多继承语法public interface C extends A,B{// 继承A、B所有常量、抽象方法}作用整合多个接口规范形成更全面的新标准七、接口多态工作最常用1. 多态写法父接口引用指向子类对象Run r new Dog();r.run();2. 多态优势• 屏蔽子类细节统一编程标准• 便于后期替换子类低耦合、高扩展3. 多态弊端 解决• 多态下只能调用接口中定义的方法不能调用子类独有方法• 解决向下转型八、接口 和 抽象类 终极区别面试必问对比维度 抽象类(abstract class) 接口(interface)关系本质 是「继承」—— is-a 是「实现」—— can-do成员变量 普通变量、常量都可以 只能是全局常量构造方法 有构造方法 无构造方法代码块 有静态代码块、普通代码块 无代码块继承限制 类只能单继承 类可以多实现接口可多继承权限修饰 四种权限都可用 基本都是public使用场景 抽取共性属性、共性行为 统一行为规范、解耦一句话区分• 有共性属性、需要模板复用 → 用抽象类• 只定义行为标准、需要多实现、解耦 → 用接口九、接口使用场景开发实战1. 项目分层规范Service、Dao层全部用接口定义标准2. 统一行为规范比如 可序列化、可比较、可克隆3. 解耦设计面向接口编程不面向具体类编程4. 回调机制监听器、事件监听全部基于接口5. 多态设计集合、工具类大量使用接口多态十、高频易错点总结1. 接口不能实例化2. 接口所有常量默认 public static final3. 抽象方法默认 public abstract4. 默认方法必须带 default静态方法只能接口名调用5. 类多实现时默认方法冲突必须重写6. 接口没有构造器不能创建对象7. 面向接口编程变量类型写接口对象new实现类十一、核心口诀背诵版接口是标准规范行为强常量全静态抽象无参详八加默认静九加私方法类可多实现接口多继承无构无代码多态解耦王区别抽象类只定不存样
锦
锦皓数字建站
深耕本土企业品牌数字化升级,专注原创端正雅致商务官网,从视觉设计到稳定运维全程保驾护航。