//为什么系统可以导入包的所有类 如:import java.lang.*;
//而自己写的包不能导入所有类,要导入就必须确定类的名称,我如果需要导入包中很多类,那不是很烦
比如我在c:\java\放原文件,在其下面生成package一个类包,里面有AAA BBB CCC 三个CLASS文件,我要全部都导入,应该怎么做?(不能一个一个导入,需要全部一起导入,也就是用 .*)

解决方案 »

  1.   

    import 包名.*你的问题我有点不太明白
      

  2.   

    import package.*;
    另外要在classpath中加入c:\java\才能找到你自己写的类
      

  3.   

    我是上面两位说的那么做的但是这样系统会报错找不到你要的类。
    如果是在同一及目录就不报错,比如我有个A包里面有个I类, 而我生成个B包,里面的J类可以用.*来调用I类,但是如果你不生成B包 直接调用A.*那是不行的,必须用A.I
      

  4.   

    因为你写一个程序有很多类都是 java.lang.*; 这个包下的,  例如: System String Object 等等..等你编译时系统就会到 java.lang.*; 这个包下去找..
    像你说的想导入自己包下的所有类的话就当然要导入,?如你想使用就可以像以下这样 
    例如:  import java.包名.*;  这样即可!!! 当然你必须把这个类声明与你所创建的包在同一级目录
      

  5.   

    先回答你为什么不能用“*”,这是因为导入的default包。
       而如果你想导入自己的包,你必须在所在自己想导入的类的源文件最顶加入语句“package 你的包名(任意);”。然后把编译后的class文件放入包名的同名目录下。想调用,import 就行了。
       想了解具体的原理,找一相Java 的书看一下吧。例如:《Think in Java》或者《Java 深度历险》。