import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
import java.io.PrintWriter;
如上所示,我们引入的时候一定需要每个包都导进来吗,为什么不直接用“import java.io.*;”?是不是对响应速度有一定影响还是因为别的原因?

解决方案 »

  1.   

     http://topic.csdn.net/u/20080613/16/3d855ec0-a034-46cb-a2ae-65e4541c0011.html这个问题前几天讨论过具体可以看看这个帖子 
      

  2.   

    个人觉得 ::

    .*  让人看到的是所有!~~~  让人摸不着头脑!.Class 给人看程序时!~ 能清晰地知道用到了 什么!
    当然用一个包太多的类的话!~ 导入.* 还是比较方便的 !
      

  3.   

    效率是一样的。 不过明确性的导入, 这样在修改bug时候, 和维护的时候能更加清晰。
      

  4.   

    1. 运行效率与你导入10个还是1000000000个包中的类(无论使不使用*)没任何关系。
    2. 编译速度多少会受点影响,这点影响一般你根本感觉不到。
    3. 建议还是少用带*的导入,一般人读源代码的顺序都是由上到下,这样在看具体代码之前如果通过 import 语句了解到你程序中类的使用情况,有助于理解源代码和 Debug。
      

  5.   

    我觉得要只导入实际用到的类 因为有些情况你是必须明确指出该类是属于哪个包的 比如程序里用到List时 引用中同时出现java.awt.*和java.util.* 那么可能会造成混淆,因为这两个包中都含有List(java.awt.List 和java.util.List) 我出过一次这样的错
      

  6.   

    这种情况比较多,Date 这个类也有重复的,分别是java.unit.date , java.sql.date
      

  7.   

    导入明确的类运行时确实比较快,在普通PC上运行可能看不出什么,要是在手机上运行跑J2ME程序就看出来了,半天没响应而且还很费电
      

  8.   

    前几天看了个教学的视频
    好象上面说了,两种写法是没有任何区别的
    即使写成import java.io.*;
    程序编译时也只会加载程序用到的类
    主要是为了代码的可读性,对于读者或以后维护而言
    知道是导入的哪个包里具体的类
      

  9.   


    同意以上两位的看法,尤其是在比较大的项目中,通常会项目会自己写一些公用方法。很多时候会和标准api的方法有重名。