用jdk编程时,若使用了package语句,存放java文件的目录都要自己创建吗?
是的。
多个java源文件放在一个包(非默认包即classpath起始目录)时,怎么老是编译出错呀?
如果都是同一个包的类,就不应该出现这中情况。不知具体情况。

解决方案 »

  1.   

    恩,第二个问题我也遇到过……根本没使用其他的CLASS,但JDK还是会检查……
    很奇怪……
      

  2.   

    第二个问题具体如下:
    同一个包的两文件Pie.java与Cake.java为:
    //: Pie.java
    package my;
    public class Pie {
      public void f() { System.out.println("Pie.f()"); }
    } ///:~//: Cake.java
    package my;
    public class Cake {
      public static void main(String[] args) {
         Pie pie=new Pie();
         pie.f();  
         System.out.println("haha");
      }
    } ///:~编译时无出错使用java Cake命令时出错信息为:
    Exception in thread "main" java.lang.NoClassDefFoundError:<wrong name: my/Cake>
    at java.lang.ClassLoader.defineClass0(Native Method)
    at java.lang.ClassLoader.defineClass(Unknown Source)
    at java.security.SecureClassLoader.defineClass(Unknown Source)
    at java.net.URLClassLoader.defineClass(Unknown Source)
    at java.net.URLClassLoader.access$100(Unknown Source)
    at java.net.URLClassLoader$1.run(Unknown Source)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.net.URLClassLoader.findClass(Unknown Source)
    at java.lang.ClassLoader.loadClass(Unknown Source)
    at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
    at java.lang.ClassLoader.loadClass(Unknown Source)
    at java.lang.ClassLoader.loadClassInternal(Unknown Source)
      

  3.   

    my的上一级目录运行:
    java my.Cake