如果,有public类时,文件名必需是这个public类的名字。编译的是文件,执行java Test2是告诉他执行Test2的main,如果在Test2类里找不到main会提示错误。

解决方案 »

  1.   

    理论上应该是the test2 main()
      

  2.   

    显然,Borland公司没有严格按照java标准去开发编译器,才出现了以上问题
      

  3.   

    应该有一个 test2.java 文件, compile 后会有 OutClass.class 和 test2.class。这两个 class 可以分别单独执行。
    如果你是通过 java test2 去执行,应该会是 "the test2 main()" ,无容置疑。
    会不会是你用 jbuilder 去执行了 OutClass.class 而没有重新改变设置所致呀?
      

  4.   

    回复6。1我你提出的疑问我看了也不是啊,不知道为什么啊?是不是象上面的兄台说的Borland没要按照JAVA的标准开发啊?高手们看看
      

  5.   

    JB里的一个project下的class要运行要点菜单RUN里的,不能只用快捷工具,它只默认你的第一个class
      

  6.   

    这个我认为应该不会。根据就是:...
       Borland毕竟是...
      大公司嘛...
      相信这点,Borland不会没想到。
      哈哈!而且你上面写的两个类也没有什么直接关系,可以说相对独立的,而各自也有自己的 main()方法。上面的就是全部代码了吗?其实我现在在用eclipse,不能帮你试一下。不过在我这里测试是一切正常的。
      

  7.   

    我再JB里试过了,输出是"D:\Program Files\JBuilder9\jdk1.4\bin\javaw" -classpath "C:\Documents and Settings\Dingding\jbproject\Test2\classes;D:\Program Files\JBuilder9\jdk1.4\jre\lib\rt.jar;D:\Program Files\JBuilder9\jdk1.4\jre\lib\i18n.jar;D:\Program Files\JBuilder9\jdk1.4\jre\lib\sunrsasign.jar;D:\Program Files\JBuilder9\jdk1.4\jre\lib\jsse.jar;D:\Program Files\JBuilder9\jdk1.4\jre\lib\jce.jar;D:\Program Files\JBuilder9\jdk1.4\jre\lib\charsets.jar;D:\Program Files\JBuilder9\jdk1.4\jre\classes;D:\Program Files\JBuilder9\jdk1.4\lib\tools.jar"  Test2 
    the test2 main()楼主再检查一下。