1. Project(项目)
- 最高层级,代表整个工程或应用。
- 包含:
- 多个 Module(模块)(可选,大型项目通常拆分模块)。
- 源代码(
src
)、配置文件(.idea
)、依赖库(External Libraries
)、构建输出(out
)等。
- 作用:
- 管理整个开发环境(如 JDK 版本、依赖库、运行配置等)。
- 可以包含多个独立模块(如
backend
、frontend
、utils
)。
- 示例
自主给项目命名,位置默认无需改变,然后创建
2. Module(模块)
- 可选层级,用于拆分大型项目(如微服务架构)。
- 包含:
- 自己的
src
目录、依赖配置(如pom.xml
或build.gradle
)。
- 自己的
- 作用:
- 独立编译、运行或测试(例如
user-service
、order-service
)。
- 独立编译、运行或测试(例如
- 与 Project 的关系:
- 一个 Project 可以包含多个 Module,但小型项目可能只有一个 Module(默认与 Project 同名)。
3. Package(包)
- 代码组织单元,用于分类和管理 Java 类文件。
- 命名规则:
- 反向域名格式(如
com.example.project
),避免命名冲突。 - 对应文件系统的目录结构(如
com/example/project
)。
- 反向域名格式(如
- 作用:
- 逻辑上归类相关类(如
com.example.controller
、com.example.service
)。 - 控制访问权限(
protected
/default
作用域)。
- 逻辑上归类相关类(如
- 与 Module 的关系:
- 一个 Module 可以包含多个 Package,每个 Package 下存放多个 Class。
按上述方式命名
4. Class(类)
- 最小代码单元,包含属性(字段)和方法(函数)。
- 文件扩展名:
.java
(如User.java
、Main.java
)。 - 作用:
- 实现具体功能(如
UserService
处理用户逻辑)。 - 通过
import
语句跨包引用其他类。
- 实现具体功能(如
- 与 Package 的关系:
- 每个 Class 必须属于一个 Package(未声明时属于默认包,但不推荐)。