引入包可以写成
import java.util.Array;
也可以写成
import java.util.*;
这两种写法对于编译和运行有什么影响?
请指教

解决方案 »

  1.   

    当然有区别,java.util.Array;只导入util中的Array包中的内容,java.util.*;导入util中的所有内容。这样一比较,自然是需要什么就导入什么,多余的就不要导入了,比如你只需要Array,那么最好是import java.util.Array; 
      

  2.   

    大部分时候我都是写成带*的,省事儿。但是有时候确是要必须写具体的,比如,当两个包下面有相同的类名的类的时候,最典型的就是同时引入sql包和util包时,因为两个包下面都有Date类,这个时候就要写具体了。
      

  3.   

    给你介绍个快捷键下  自动导包,多余包删除Ctrl+Shift+O 
      很好用···
      

  4.   

    编译时可能会有一点点的可以忽略不计的区别,但运行时绝对没有区别。import实际上是导入一个名称空间而已(相当于C++中的using namespace),目的是让你不必每次使用一个其他包中的类时都要书写完整的类名。比方说,如果你不import java.util.*,那么你不得不这样写:java.util.List list = new java.util.ArrayList();import java.util.*以后,你就可以写成:List list = new ArrayList();显然,后一种写法是约定俗成的。本质上这两种方式的区别仅仅局限在书写风格上,不管你使用哪种风格,编译的结果都是一样的。
      

  5.   

    *表示导入这个包下所有的文件。
    性能方面,我记得我上次看JAVA虚拟机的时候,好像说过引入的包在编译的时候有影响,到编译后就一样了,因为在编译的时候,遇到*的时候,只引入使用到的类到class中。