执行的时候应该是h:\thinkinjava\java soft.B,如果在h:\thinkinjava\soft\目录下面执行,因为你在A里面声明了名为soft的包,所以系统要从当前目录下面找名为soft的子目录下的A文件,所以会出错。

解决方案 »

  1.   

    Except what the upstair said,I think you must impile A.java to .class file first.
      

  2.   

    应该把import A;写在LibTest.java里
      

  3.   

    或者你在你的classpath路经里加上:h:\thinkinjava也可以的(不要加入h:\thinkinjava\soft)否则在找class时,java会到h:\thinkinjava\soft\soft下找类A的。
      

  4.   

    同意一楼,你可以将2个package soft去掉试试就知道了
      

  5.   

    javac -d h:\thinkinjava B.java
    java soft.B
      

  6.   

    谢谢各位!
    我想本题的正解是:java soft.B
    -----------------------
    to yeahspyme(行者):你的这个观点是错误的,javac B.java时jvm会自动把A.java编译为class文件。
    -----------------------
    to Jacky1206(胖胖):你的这个观点是错误的,因为A.java和B.java同在一个package里,不必使用import,jvm也能找到A.class。
    -----------------------
    to litsnake1(litsnake):你的建议非常正确,但我的目的正是为了演示/还原我的症状,才这么做的。如果去掉两个首行的package语句,确实可以正确运行。-------------------------------------
    谢谢各位指教!就此结帖,再见!