2026/1/19 0:52:26
网站建设
项目流程
关于做芯片类招聘的网站,做网站app怎么赚钱,google网站入口,怎么制作属于自己的网站在之前讲抽象类和接口区别时,我们只提了接口方法的 “大类”,但接口的方法类型远不止 “抽象方法”—— 随着 JDK 版本迭代,接口支持的方法类型越来越丰富,不同方法的定位、用法和注意事项差异极大。今天专门补充接口中所有方法类型的细节,帮你彻底吃透接口方法的设计逻辑…在之前讲抽象类和接口区别时,我们只提了接口方法的 “大类”,但接口的方法类型远不止 “抽象方法”—— 随着 JDK 版本迭代,接口支持的方法类型越来越丰富,不同方法的定位、用法和注意事项差异极大。今天专门补充接口中所有方法类型的细节,帮你彻底吃透接口方法的设计逻辑。JDK8 是接口方法的 “分水岭”:JDK8 前:接口只能包含抽象方法(无方法体)+ 常量,设计极度 “纯粹” 但扩展性差;JDK8 后:新增default(默认方法)、static(静态方法),解决 “接口升级会导致所有实现类报错” 的问题;JDK9 后:新增private(私有方法)、private static(私有静态方法),解决接口内方法的代码复用问题。下面按 “常用程度 + 版本” 拆解每种接口方法。一、抽象方法(JDK8 前唯一,接口的 “核心契约”)1. 定义接口中最基础的方法类型,只约定 “要做什么”,不实现 “怎么做”,是接口作为 “能力契约” 的核心。语法:默认修饰符public abstract(可省略,编译器自动补全),无方法体,以;结尾;核心要求:实现接口的类(以下简称实现类)必须重写所有抽象方法(除非实现类是抽象类)。2. 实战示例// 可飞行接口:抽象方法是核心契约 public interface Flyable { // 抽象方法:省略public abstract,编译器自动补全 void takeOff(); // 起飞(所有可飞行对象必须实现) void land(); // 降落(所有可飞行对象必须实现) // 错误示例:抽象方法不能有方法体 // public abstract void adjustHeight() {} ❌ 编译报错 } // 鸟实现Flyable:必须重写所有抽象方法 class Bird implements Flyable { @Override public void takeOff() { // 必须加public(接口方法默认public,子类不能缩小权限) System.out.println("鸟:扇动翅膀起飞"); } @Override public void land() { System.out.println("鸟:减速扇翅降落"); } }3. 关键注意事项抽象方法的权限只能是public(即使省略,编译器也会补全),子类重