java中的java.lang包

时间:2017-06-03 07:50:56

标签: java lang

由于编译器会在所有java程序中自动导入java.lang包,为什么在程序中使用注释时需要在程序顶部编写import java.lang.annotation;语句?

2 个答案:

答案 0 :(得分:5)

因为java.lang.annotation包与java.lang包不同。它们只是不同的包装。

想象一下,如果导入一个软件包导入了所有软件包“在它下面 - 那么

import java.*;

几乎可以导入标准库中的所有内容 - 但这不是它的工作方式。

的导入声明
import foo.*;

只需导入foo包中的所有类型 - 它不会在恰好以foo.开头的任何其他包中导入任何内容。

答案 1 :(得分:3)

因为java.lang自动导入仅适用于其包所属的类和接口,因此它是java.lang

annotationjava.lang内的子包,此自动行为不会传播到仅包含java.lang的直接类的子包