在 C 语言里,我们通常把某个"模块"或"类"拆成 `.h`(头文件)和 `.c`(源文件)两个部分: - **`.h`** 里放数据结构声明、函数原型、宏常量等"对外可见的接口"。 - **`.c`** 里放具体的函数实现、内部逻辑、私有变量等。 而在 Java 里,并没有单独的"头文件"概念,通常是**一个类写在一个 `.java` 文件里**,既包含类名、方法声明,又包含具体实现。可以粗略类比为: - **`.h`** 对应 Java 代码中"类的签名和对外公开的方法、字段等接口"。 - **`.c`** 对应 Java 类中"方法体和实现细节"。 只是 Java 在一个 `.java` 文件中就把"声明"和"实现"都写完了,不需要像 C/C++ 一样拆成两个文件。 如果硬要找种"更像.h 和.c 分开的形式",则可以把 Java **`interface`**(接口)类比为 C 语言里的头文件(只声明了要实现的方法),再把实现该 interface 的 **`class`** 类比为对应的 `.c` 文件(提供了这些方法的实际代码)。不过依旧不完全相同,因为 Java 的接口和类是两个不同的概念,而 C 里头文件和源文件本质上还是同一个"模块"的两部分。