10分钟快速上手:用RVC-WebUI打造你的专属AI歌手
2026/6/10 4:26:43
在之前讲抽象类和接口区别时,我们只提了接口方法的 “大类”,但接口的方法类型远不止 “抽象方法”—— 随着 JDK 版本迭代,接口支持的方法类型越来越丰富,不同方法的定位、用法和注意事项差异极大。今天专门补充接口中所有方法类型的细节,帮你彻底吃透接口方法的设计逻辑。
JDK8 是接口方法的 “分水岭”:
default(默认方法)、static(静态方法),解决 “接口升级会导致所有实现类报错” 的问题;private(私有方法)、private static(私有静态方法),解决接口内方法的代码复用问题。下面按 “常用程度 + 版本” 拆解每种接口方法。
接口中最基础的方法类型,只约定 “要做什么”,不实现 “怎么做”,是接口作为 “能力契约” 的核心。
public abstract(可省略,编译器自动补全),无方法体,以;结尾;// 可飞行接口:抽象方法是核心契约 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("鸟:减速扇翅降落"); } }public(即使省略,编译器也会补全),子类重