关于java导入包的问题!

来源:百度知道 编辑:UC知道 时间:2024/06/19 08:53:46
以下就是具体的问题:
import javax.servlet.*;
import javax.servlet.http.*;
按理说导入上面那个包就已经包含了下面的那个包了,下面那个包就可以不写了。可为什么要这样写呢?
我问了几个同学都回答不出来,凭自己的感觉是不是这样写可以使得程序的效率增高,在执行的时候如果导入的包更具体那么将减少寻找类的时间?
请问高手门是这样的作用么?谢谢!
如何就这个问题查看JDK文档,好生不会啊!

import javax.servlet.*;这句是包括javax.servlet的子类,比如http,不包括http的子类,也就是servlet的子子类。在类似树状结构的类中,*只代表该层的类,不包括下层的类

只包括本文件夹下.class文件,所以子文件夹就没被包进来。

最好用一个写一个,不要都.*来引包,影响编译速度,不过与运行速度无关。当然都引进来省事,现在内存都大了,怎么便捷怎么做吧,呵呵。

你可能没明白什么是编译,什么是运行。从.java到.class是编译,从.class到你看到效果,是运行。编译的时候,会按照你调用到的其它类,来搜一遍,如果引了整个包,当然会浪费些资源,不过对于如今的机器可以忽略。运行时都已经成为.class了,没关系的。

简单的解答一下吧:*是指该包下面的所有类,但如果该包里面还有包,那么此*不包括该包里面的所有子包的类,所以要层层导入

你理解错了 第二个包是独立的,不发生包含关系 可以去看jdk文档

http://hi.baidu.com/easy_voice/blog/item/66f7a1fa2eea6b9f59ee9098.html
这里有个地址你看下吧,希望有用,一起学习了!

以上两个包是两个单独的包,你可以看一下jdk的帮助文档。