2017-06-03 59 views
4

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

回答

5

因为java.lang.annotation包与java.lang包不一样。他们只是不同的软件包。

试想一下,如果一个导入包导入所有的包是“下” - 然后

import java.*; 

将导入标准库中几乎所有的东西 - 但这不是它的工作方式。的

import foo.*; 

import语句简单地进口的所有类型的foo包 - 它不会在发生开始foo.任何其他包导入任何东西。

+0

疑难杂症的只顾眼前利益类!谢谢! –

3

因为java.lang自动导入只是因为它的包所属的类和接口是java.lang

annotation是一个子包内java.lang这个自动行为不会传播到子包java.lang

+0

我明白了。谢谢 :) –

相关问题