当然是test里面的test了
假如你在import com.test.*; 中可以,而在import com.test.test中不可以(需要说明的是第2个test的大小写!!!!),那么是不是你要引用的一个object是不是在com.test的其他子包中?

解决方案 »

  1.   

    写错了应该是:
    在用import导入时为什么用: import com.test.*; 时出错;
    而用: import com.test.test时不出错;
      

  2.   

    你把错误放出来看看。你的com.test这个package里还有别的类吗,说不定是com.test里别的类和a.java里某个类名字重复了,这样,当你只导入 com.test.Test的时候工作正常,但你导入整个package的时候就会出错。我这个只是猜想,最好把错误信息贴出来看看
      

  3.   

    你的这个是大包里的小包,import com.test.*;不能够把大包(test)里面的小包(test)d导入,只能够把大包(test)里面直接的工具导入,也就是说,大包里面的小包是无法直接导入的,必须直接导入这个小包。我想你的问题就是这个原因!
      

  4.   

    //: com\bruceeckel\tools目录下的Test.java
    //
    package com.bruceeckel.tools;
    public class Test {
      public void Test() {
       System.out.println("com.bruceeckel.tools.Test");
      }
      public static void rint(Object obj) {
        System.out.print(obj);
      }
      public static void rint(String s) {
        System.out.print(s);
      }
      public static void rint(char[] s) {
        System.out.print(s);
      }
      public static void rint(char c) {
        System.out.print(c);
      }
      public static void rint(int i) {
        System.out.print(i);
      }
      public static void rint(long l) {
        System.out.print(l);
      }
      public static void rint(float f) {
        System.out.print(f);
      }
      public static void rint(double d) {
        System.out.print(d);
      }
      public static void rint(boolean b) {
        System.out.print(b);
      }  

    //:com\bruceeckel\Test.java
    package com.bruceeckel;public class Test {
      static int i=0;
      private int b;
      public void Test() {
        System.out.println("com.bruceeckel Test Class Test Method");
      }
    }
    //:Test1.javaimport com.bruceeckel.tools.*;
    import com.bruceeckel.*;public class Test1 {
      public static void main(String[] args) {
        Test a =new Test();
        Test.rint(true);
        a.rint("    abc");
        System.out.println("");
      }
    }
    错误提示:
    D:\JFile\Test\Test1.java:8: 不能解析符号
    符号:构造方法 Test  ()
    位置:类 in Test
    Test a =new Test();
                            ^
    D:\JFile\Test\Test1.java:9: 不能解析符号
    符号:方法 rint  (boolean)
    位置:类 in Test
    Test.rint(true);
                        ^
    D:\JFile\Test\Test1.java:10: 不能解析符号
    符号:方法 rint  (java.lang.String)
    位置:类 in Test
    a.rint("    abc");
      

  5.   

    那时肯定要出错的。
    public class Test1 {
      public static void main(String[] args) {
        [red]com.bruceeckel.tools.Test[/red] a =new Test();
        //或[red]com.bruceeckel.Test[/red]
        Test.rint(true);
        a.rint("    abc");
        System.out.println("");
      }
    }
      

  6.   

    [red][/red]这些就不必看了,我以为支持的,呵呵。
      

  7.   

    一个package实际上就是一个目录,import xxx.*只能导入该目录下的.class文件,如果该目录下还有子目录,只能import xxx.xxx
    你得a.class应该在com/test/test目录下所以只能import com.test.test
      

  8.   

    存在两个Test类,编译器分不清你到底是要构造哪一个,
    com.bruceeckel.tools.Test a =new com.bruceeckel.tools.Test();
    要这样才行