我在D:\mylib\simple\ 目录下创建了以下两个文件,包名都相同,为什么在TestList类中访问List2时报错说找不到List2。
package mylib.simple;
public class List2
{
public List2()
{
System.out.println("mylib.simple.List");
}}
package mylib.simple;class TestList
{
public static void main(String[] args)
{
new   List2();
}
}

解决方案 »

  1.   

    class TestListpublic class TestList
      

  2.   

    你是不是用的命令行啊,List2没有编译?
      

  3.   

    看你贴代码又像是用ECLIPSE,不知道怎么回事,我这倒是可以运行的
      

  4.   

    这个如果用IDE是可以运行的。如果是cmd的话,是有问题。
      

  5.   

    在CMD中直接调用命令运行的,通过不了,为什么
      

  6.   

    我是用editplus写的程序,利用CMD命令行执行的,编译通过不了
      

  7.   

    还是没有用TestList.java:7: 找不到符号
    符号: 类 List2
    位置: 类 mylib.simple.TestList
                    new List2();
      

  8.   

    哦 那这个问题的解决方式就是:你如果用CMD形式的话。就不要加package mylib.simple;了。javac 不会将class给你打包到mylib/simple中。去掉试试。如果你是用的IDE的话。这个问题就自然解决了。IDE是正常的。
      

  9.   

    如果去掉package mylib.simple;编译仍然有问题,在IDE里是没有问题,但是这种问题是由什么原因引起的呢?TestList.java:7: 无法访问 List2
    错误的类文件: .\List2.class
    类文件包含错误的类: mylib.simple.List2
    请删除该文件或确保该文件位于正确的类路径子目录中。
    new List2();
        ^
    1 错误
      

  10.   

    两个都要删掉才好使。
    原因就是 javac 不能把你的class打包在你定义的包中,它就找不到类。IDE可以。所以才好使。
      

  11.   

    C:\Documents and Settings\Administrator>cd\C:\>cd mylibC:\mylib>cd simpleC:\mylib\simple>javac -d . *.javaC:\mylib\simple>java mylib.simple.TestList
    mylib.simple.List
      

  12.   

    为什么我将TestList放在D:\ 目录,而将List2放在D:\mylib\simple\ 目录下,在TestList中通过import mylib.simple.List2; 又可以呢。是CMD下面的问题吗?
      

  13.   

    classpath=.;设置下
    -------------------------------
     编程菜鸟学堂QQ群144648357