日期:2014-05-20  浏览次数:20737 次

关于package和import的疑问
假设:
当前文件夹下有一个abc文件夹,abc下面又有aaa,bbb两个文件夹,这样的目录结构
在aaa文件夹下有A.java,代码如下:


package abc.aaa;

public class A

{

  public A()

  {

  System.out.println("A");

  }

}


同样,在bbb文件夹下有B.java,代码也类似:


package abc.bbb;

public class B

{

  public B()

  {

  System.out.println("B");

  }

}


在当前文件夹下有Test.java,代码如下:
import abc.aaa.A;

import abc.bbb.B;



public class Test

{

  public static void main(String[] args)

  {

  new A();

  new B();

  }

}

这样没有问题,可以访问
我想请教一下,
怎样在不设classpath的情况下,如何写package,import语句让A,B类里面相互访问?
而且在abc文件中怎样写才能正常访问到A,B类?
前提是不设classpath的情况下

------解决方案--------------------
之所以你能够这样访问,是因为classpath设置了当前路径,即一个点。这样在虚拟机会以当前路径为起始点搜索abc.aaa及abc.bbb的包结构
如果不打算写classpath,那么可以这样调用
java -cp . Test
------解决方案--------------------
加前序就可以了吧,如:
new abc.aaa.A();
new abc.aaa.B();