比如Pie.java 在e:\aa\bb\下面,而cake.java在d:\c05\下面,此时你的classpath
有d:\c05这个目录,编译旧能通过,而不仅仅是bruce说的只能在同一路径下面
改為
e:\aa\bb\Pie.java
d:\c05\cake.java
classpath=e:\aa\bb;

解决方案 »

  1.   

    class Cake {
      public static void main(String[] args) {
        Pie x = new Pie();
        x.f();
      }
    } ///:~在位于相同目录的第二个文件里:
    //: Pie.java
    // The other classclass Pie {
      void f() { System.out.println("Pie.f()"); }
    } ///:~此例子相信看过thinking in java的人都知道
    其实即使Pie.java和Cake.java不在同一目录下,也是可以的编译cake.java的比如Pie.java 在e:\aa\bb\下面,而cake.java在d:\c05\下面,此时你的classpath
    有e:\aa\bb这个目录,编译旧能通过,而不仅仅是bruce说的只能在同一路径下面
      

  2.   

    这种问题严重依赖于javac的实现,这个东西又没有标准规定他
      

  3.   

    楼猪说的问题就是classpath的问题嘛。这个think in java里面好象都有啊。
      

  4.   

    接点分
    think in java是java程序员的信念,你真豁出去了呀!
      

  5.   

    我试过了,可以不要Pie.java,可是不能没有Pie.class。我想Bruce Eckel指的是.class文件在同一路径下是default package,而不是.java源文件吧:)