首页 > Java > java教程 > 正文

Java import 和 package 的关系是什么?

舞夢輝影
发布: 2025-12-12 15:38:02
原创
986人浏览过
package 声明类的归属位置,import 便捷引用其他包中的类;前者定义全限定名和目录结构,后者提供编译期名称解析,二者协同实现模块化组织与引用。

java import 和 package 的关系是什么?

Java 中 importpackage 是两个紧密配合、分工明确的机制:package 负责**组织和声明类的归属位置**,import 负责**在当前文件中便捷引用其他 package 下的类**。

package 定义类的“户籍地址”

每个 Java 源文件顶部(非注释、非空行的最前面)可以用 package 声明它属于哪个命名空间。比如:

package com.example.utils;

这表示该文件中的 public 类(如 DateHelper)的全限定名是 com.example.utils.DateHelper。JVM 和编译器靠这个路径定位类、避免命名冲突,也对应着磁盘上的目录结构(com/example/utils/DateHelper.java)。

import 解决“怎么方便地叫别人家的孩子”

如果你在 com.example.app.Main 里想用 com.example.utils.DateHelper,不能直接写 DateHelper dh = new DateHelper();——因为编译器默认只认识同 package 的类和 java.lang 下的类(如 String、System)。

立即学习Java免费学习笔记(深入)”;

Procys
Procys

AI驱动的发票数据处理

Procys 102
查看详情 Procys

这时就需要 import:

  • import com.example.utils.DateHelper; → 后续可直接用 DateHelper
  • import com.example.utils.*; → 导入该包下所有 public 类(不推荐滥用,降低可读性)
  • 没写 import 时,也可用全限定名:com.example.utils.DateHelper dh = new com.example.utils.DateHelper();(合法但啰嗦)

它们不互相依赖,但协同工作

package 可以没有 import(比如只用 java.lang 或同包类);import 也不能脱离 package 存在——因为 import 的路径本质就是基于 package 层级的逻辑地址。即使某个类没声明 package(即默认包),你也不能用 import 引入它(JDK 1.4+ 已禁止 import 默认包中的类)。

常见误区提醒

  • import 不会“加载类”或影响运行时行为,只是编译期的语法糖,帮助编译器理解你写的类名指哪个类型
  • package 声明必须是源文件第一条有效语句,前面只能有注释和空行
  • 一个文件只能有一个 package 声明,但可以有多个 import
  • java.lang.* 是自动导入的,所以不用写 import java.lang.String;

基本上就这些。package 是地图,import 是路标——有了清晰的归属(package),才谈得上高效引用(import)。

以上就是Java import 和 package 的关系是什么?的详细内容,更多请关注php中文网其它相关文章!

最佳 Windows 性能的顶级免费优化软件
最佳 Windows 性能的顶级免费优化软件

每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。

下载
来源:php中文网
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新问题
开源免费商场系统广告
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号