包
包
-
Java 定义了一种名字空间,称之为包:
package
。一个类总是属于某个包,类名(比如Person
)只是一个简写,真正的完整类名是包名.类名
。使用package
来解决名字冲突。 -
包没有父子关系。java.util和java.util.zip是不同的包,两者没有任何继承关系。
包的作用域
-
不用
public
、protected
、private
修饰的字段和方法就是包作用域。 -
位于同一个包的类,可以访问包作用域的字段和方法。
编译器如何查找类名
-
如果是完整类名,就直接根据完整类名查找这个
class
; -
如果是简单类名,按下面的顺序依次查找:
- 查找当前
package
是否存在这个class
; - 查找
import
的包是否包含这个class
; - 查找
java.lang
包是否包含这个class
。
- 查找当前
-
编译器会自动导入当前
package
的其他class
和java.lang.*
自动导入的是java.lang包,但类似java.lang.reflect这些包仍需要手动导入。
本文作者:n1ce2cv
本文链接:https://www.cnblogs.com/sprinining/p/18300979
版权声明:本作品采用知识共享署名-非商业性使用-禁止演绎 2.5 中国大陆许可协议进行许可。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步