小弟初学JAVA,我知道JAVA中的类以程序包进行分类组织,当程序中需要用到某个软件包中的类时,可以以该类的全限定名进行引用,这样,不同的包中的类可以同名,不会产生混淆,JAVA中还有import命令,可以在程序头位置指定要引用的程序包名,就可以在程序中直接引用该程序包中的类,这样小弟就产生一个问题,比如程序包ch1和ch2中都有一个名为A的类,在程序头位置加入命令
import ch1;
import ch2;
A tt= new A();
系统怎么知道我指的是ch1中的类A,还是ch2中的类A呢??

解决方案 »

  1.   

    ch1.A tt= new ch1.A(); 
      

  2.   

    一般很少会遇到这种情况,在吸收新的包进入jdk的时候会考虑到这个问题。如果自定义的包产生这种问题的话,那就像楼上那样引用就好了。但是还是要尽量避免吧。
      

  3.   

    你要是用的IDE编写代码 你所创建的项目是一个文件夹,你所编写的类都在一个文件夹底下,所以有好几个类的时候,程序时可以找到的。如果你编写的时候用的记事本或者文本编辑器,将编写好的包存放在了不同的位置,这时候你要想这样直接import调用就不行了,解决的方法是,将ch1和ch2所在的文件夹地址复制到classpath中,这样程序执行的时候JVM会自动到这里寻找需要的包,如果找不到就失败,找到就运行成功