亿迅智能制造网
工业4.0先进制造技术信息网站!
首页 | 制造技术 | 制造设备 | 工业物联网 | 工业材料 | 设备保养维修 | 工业编程 |
home  MfgRobots >> 亿迅智能制造网 >  >> Industrial programming >> java

Java 包机制:命名空间管理、访问控制与模块化组织

包是 Java 组织类的核心机制,解决命名冲突、访问控制、代码定位三大问题。包对应文件系统目录结构,形成逻辑与物理统一的层次命名空间。

包声明与命名规范

编译与目录结构


# 源码结构
src/com/example/model/User.java
# 内容
package com.example.model;
public class User {}

// 编译到目标目录
javac -d bin src/com/example/model/User.java
# 生成
bin/com/example/model/User.class

-d 指定输出根目录,编译器自动创建包对应子目录。

import 机制

方式语法适用场景
全限定名com.example.User u = new com.example.User();同名类冲突、极少用
单类导入import com.example.User;推荐,明确依赖
通配符导入import com.example.*;同包多类、原型开发
静态导入import static java.lang.Math.PI;常量/静态方法

同包类无需导入直接访问。java.lang 包自动隐式导入。

访问控制与包可见性

修饰符同类同包子类(异包)其他
private✅❌❌❌
默认✅✅❌❌
protected✅✅✅❌
public✅✅✅✅

包私有 是默认级别,利于模块内协作、模块间隔离。

CLASSPATH 与类加载

类路径告诉 JVM 去哪找 .class 文件。根路径 + 包名 = 完整类路径。


# 设置 CLASSPATH
# Windows
set CLASSPATH=.;C:\libs\mylib.jar;D:\classes
# Linux/Mac
export CLASSPATH=.:/home/user/libs/mylib.jar:/opt/classes

模块化最佳实践

  1. 按功能/领域分包:com.example.order、com.example.payment
  2. 分层架构包结构:
    com.example.app
    ├── controller    // Web 层
    ├── service       // 业务逻辑
    ├── repository    // 数据访问
    ├── domain        // 实体/值对象
    ├── dto           // 传输对象
    └── config        // 配置类
    
  3. 避免循环依赖:包之间不应形成环
  4. 模块化(Java 9+):module-info.java 显式导出包、声明依赖
    
    module com.example.app {
        exports com.example.app.api;
        requires com.example.lib;
    }
    

常见问题

java

  1. Python 包:结构、导入与最佳实践
  2. 深入理解 Java final 关键字:变量、方法与类的不可变性
  3. Java instanceof 运算符完全指南:用法、继承与接口检查
  4. 精通 Java 继承:核心概念、类型与实战示例
  5. 深入理解 Java 静态嵌套类:用法、差异与实战示例
  6. 精通 Java 匿名内部类:定义、语法与实战示例
  7. Java 单例模式详解:安全实现与使用指南
  8. 精通 Java 反射:运行时检查类、方法与字段
  9. 精通 Java ArrayList:操作、方法与最佳实践
  10. 掌握 Java ObjectOutputStream:序列化、核心方法与实战示例
  11. 掌握 Java 泛型:构建可复用、类型安全的代码
  12. 掌握 Java 文件操作:java.io 包下的创建、读取、写入与删除