过程:    新建了一个工程Exp,加了一个源文件myText.java(源文件定义在package MyPackage包中).
结果:    在Exp文件夹下会产生两个文件夹:src文件夹和classes文件夹,而scr文件夹保存了我创建的myText.java,classes文件夹包含了MyPackage文件夹.
问题:    JAV中目录结构必须与包结构相匹配,是不是理解为必须把myText.java源文件也放在classes文件夹下的MyPackage文件夹?如果是的话我们在还未编译之前根本就不存在这个MyPackage文件夹,该怎么办?
补充:  初学JAVA,用的是Jcreator

解决方案 »

  1.   

    额,新建文件夹咯。IDE是自动建了文件夹而已
      

  2.   

    源文件放的位置不需要在MyPackage下,但是class文件必须要在声明的包路径MyPackage下,否则使用java命令执行class文件会报NoClassDefFoundError.源文件不在包下,编译的时候只要指定存放class文件的路径就行了:javac -d . MyText.java
      

  3.   

    应该在src下创建包MyPackage,
    然后把myText.java放在MyPackage下,
    当你编译myText.java时,会自动在classes文件下生成相同目录结构的.class文件的。
      

  4.   

    .java是你的java源文件
    .class是源文件编译后的文件
    为了避免命名冲突,假设你创建了一个包叫per.yourName.cn,然后你在这个包下面创建了一个Hello.java的类,那么程序运行时,程序如果要使用Hello这个类的时候就会到classes/per/yourName/cn/这个文件夹下面去找这个Hello类,这里classes目录就是放置所有编译后的类的地方,然后根据package不一样,分别创建不同的文件夹。