大家好,我在某目录test下建立如下两个类
package test;public class Test1 {}
-----------------------------------
package test;public class Test2 {
public static void main(String[] args) {
new Test1();
}
}编译Test2后居然报错:找不到Test1,但我明明把它们放在同一目录下了啊。请指教,谢谢~~~

解决方案 »

  1.   

    我这好好的,我怀疑你的classpath有问题~再查查吧
      

  2.   

    public class Test2 { 
    public static void main(String[] args) { 
    Test1 t = new Test1(); 


    这样没问题的啊
    你再试试,是不是哪没设置好啊
      

  3.   

    是不是环境变量没有配好,,,,,
    classpath的.;
      

  4.   

    如果是记事本写的 它就不会创建
                  其余的话,那可能是classpths的问题
      

  5.   

    对  是记事本写的,在eclipse下是可以的。莫非...记事本...不过以前好像写过啊,请指教
      

  6.   

    还有,假如你在cmd里运行的话java test.Test2 这么运行,必须要写完整的类名字
      

  7.   

    的确很诡异,我加了一句
    import test.Test1;
    然后:
    F:\java>javac -d . Test1.javaF:\java>javac -d . Test2.javaF:\java>java Test2程序没错了...然后去掉import test.Test1;
    在Test1里加了一个public的构造器程序依然没错,太诡异的权限问题了,标记,明天在想...
      

  8.   

    你在Test1这里没有重载构造器吧,
      

  9.   

    晕,今天在机房
    C:\>javac -d . Test1.java C:\>javac -d . Test2.java C:\>java test.Test2 直接通过...
      

  10.   

    非常感谢楼上各位朋友,在你们的启发下,小弟终于明白了:
    我开始是这样的:
    D:\test\Test1
    D:\test\Test2
    而Test1和Test2中各有package test;
    但是我javac时是在D:\test目录下的,这样问题就来了,因为在Test2种我要用Test1,但是Test1中声明了
    package test;  相当于我要在当前目录(D:\test)下寻找test包中的Test1文件,这当然找不到了,因为我已经身处D:\test下了,在这当然找不到一个叫做test的文件夹。解决办法:
    1、D:\test\test\Test1
       D:\test\Test2
    Test1和Test2文件中依然声明package test;
    然后在命令提示符下,转到D:\test,直接javac Test2.java,成功~~
    2、javac时身处环境在D:\,然后在命令提示符下,转到D:\,然后javac test\Test2.java,OK~~~再次感谢各位~~~~