现在的位置: 首页 > 综合 > 正文

为什么已经import javax.servlet.* 还要 import javax.servlet.http.*

2017年11月07日 ⁄ 综合 ⁄ 共 435字 ⁄ 字号 评论关闭

       今天无意中发现一个很弱智的问题,“为什么已经import javax.servlet.* 还要 importjavax.servlet.http.*”。我从网上搜索了一下答案,其中也有不少人对此问题具有错误的解释。

       有人解释为为了提高效率。其实这种观点我觉得非常不可靠。因为导入包的时候都是先导入父包再导入子包,难道JVM在判定导入包的时候会先跳过javax.servlet而先判定javax.servlet.http?如果不是必定要先将javax.servlet包中的所有类都判定完,那又哪儿来的提高效率。其实真正的原因非常简单,就是因为“*”只能代表类,而不能代表子包。所以在判定的时候如果需要导入子包的类还需要公公正正的重新写一遍。只导入父包中的类(也就是一级目录中的类),并不能导入子包中的类。

       看似很简单的问题,却还有不少人对此模棱两可,其中肯定也不乏所谓的高手、老手。看来只是一点也不能模糊啊。如果我说的哪里有错误,希望大家务必提出,共同进步。

抱歉!评论已关闭.