日期:2014-05-20  浏览次数:20736 次

关于import的一点问题
很多代码文件里能看到类似这样的import语句
import   javax.servlet.*;
import   javax.servlet.http.*;
...
*不是表示所有吗?第一行难道不包括第二行?为什么还要有第二行的import呢?

------解决方案--------------------
http是servlet下的又一个包, *只能表示所有的类,
------解决方案--------------------
第一行不会包含第二行,第一行只是导入javax.servlet目录下的所有class文件,但并不递归导入其子目录
------解决方案--------------------
如果像楼主说的那样,我们以后导包只要
  import java.*;
  import javax.*;
这样不是基本上全加进来了吗?要这样的话可就惨了,你就要再加内存了,但我个人认为用 * 的方法不是太好,最好用到什么类就 import 什么类。免得给机器带来负担。

------解决方案--------------------
import javax.servlet.*;
import javax.servlet.http.*;
第一行不会包含第二行,第一行只是导入javax.servlet目录下的所有class文件,但并不递归导入其子目录

===============

如果改成 import javax.*.*;
的话估计就可以了。

这个估计道理和 java里面的包内引用(就是那个不写public,private,protected)的概念一样。
------解决方案--------------------
import javax.servlet.*;
import javax.servlet.http.*;

导入servlet包只导入其中的接口和类,但并不导入其中的子包
------解决方案--------------------
import javax.servlet.*;
//这句话说明:导入了javax包下面的子包servlet里面的所有类,只局限于servlet包里面的所有类。

import javax.servlet.http.*;
//这句话说明:导入了javax包下面的子包servlet下面的子包http里面的所有类,只局限于http包里面的所有类。

两者的概念不一样!