在 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 里头文件和源文件本质上还是同一个"模块"的两部分。