我简单说一说,不知道能不能说明白。
java的import应该与c++中的namespace是一样的,他是指定了一个域,怎么说呢,举个例子。比如
import java.util.*;
然后程序中用到了
Vector ....
当运行是,系统classloader发现程序中需要用Vector对象,所以要把它加载进来,首先发现当前目录下没有Vector这个类,于是就道import里去找,其实是把Vector匹配到*里去,看是否存在这个对象,比如这里就是java.util.Vector,正好找到了,就加载了这个对象。对于c++中的namespace与这个类似,不细讲了。
至于include会把整个文件包含进来编译,那是完全不同的一回事了。从上面可以看出,其实import java。*不会有任何速度上的问题(影响非常小)