用IDE的话一般他会建议你创建包,这样容易管理,防止项目很大的时候,出现文件名相同而发生冲突!纯命令行来编译,要用到 -d 参数,具体看看javac -?package com.test;public class PackageTest {
    
    public void print(){
        System.out.println("I am " + this.getClass());
    }
    
    public static void main(String[] args){
        new PackageTest().print();
    }
}执行:java com.test.PackageTest

解决方案 »

  1.   

    ps:上面的命令行编译用:javac -d . PackageTest.java
      

  2.   

    写的东西最好都放到包中,这样你用着好用,
    别人用着也好找,比如com.xx.xx.vo
    就知道里面放的是什么,而且知道是谁写的.
      

  3.   

    ,java编译以后,package命令后面的包会转化成具体的文件夹吗? 回答:是
    如果文件系统里已经有这个文件夹,会发生什么?回答:和没有的时候一样
    包和文件夹是不是不同的概念,但为什么它们的路径是相同的。回答:不是  包是java里面的概念,文件夹是window的。不过作用是一样的。
    编译以后的.class文件是不是放在包名所指的文件夹内。回答:是
    还有,在eclipse中开发时,不是都先在wen-inf/src建一个包再编码,已经有了现成的包了,为什么还要用package打包。我认为有了现成的包,package就可以不用了呀。不要给我think in java的解释,我已经看过了。谢谢!回答:你不建包,我怎么把文件存到你指定的包下面!
      

  4.   

    1.如果连这个问题你都不明白的话,我首选建议你不要在看think in java了.找一本基础一点的书看.
    2.package的作用有很多:如下
      2.1 我们在开发的时候不建议用裸体类,那样容易重名.现在将就的是团体开发,不是一个人单做.
      2.2 以后在开发项目中的代码是很大的,你不用包,那样查找和协调都不方便.
      2.3 尤其在开发WEB项目的时候,现在都用框架和MVC思想,你总不能告诉我DB层,MODLE层,DAO,IMPLE全部都放在一起吧..
    这些问题不是我说说你就理解的,要从基础学习,一个刚接触JAVA的人,我不建议看Think In Java这本书.
      

  5.   

    package最主要的作用是防止类名重复,和保持项目层次清晰
      

  6.   

    用eclipse已经在WEB-INF/SRC下新建了一个包(比如co。jp。hello。xxx),在这个包下又建了一个文件yyy,那是不是不用在文件里写package co。jp。hello。xxx了呀,因为eclipse已经建了一个包了。
      

  7.   

    而且那个文件已经在这个包下面了。再package不是多此一举吗
      

  8.   

    在cmd环境下用javac编译,package命令后面的包不会转化成具体的文件夹,如果系统中已经存在和package命令后面的包相同的目录时,对编译没有什么影响,因为javac命令默认会把编译生成的.class文件放到和.java源文件相同目录下。但是如果要运行生成的.class文件,就必须创建和package命令声明的包结构完全一致的文件目录,并把编译生成的.class文件拷贝到这个目录下面,否则,java虚拟机在加载该类时会找不到该类的.class文件。经过实际编码验证才敢发出以上言论,楼主可以自己写个程序试一下,看与本人说的是否相符。我理解的是,package命令后面加个包名,其实是起到声明的作用,不然,同样类名的两个.class文件,比如package com.test;public class PackageTest {
        public static void main(String[] args){
            new PackageTest().print();
        }
    }
    //////////////////////////
    package cn.test;public class PackageTest {
        public static void main(String[] args){
            new PackageTest().print();
        }
    }我将第二个PackageTest放到com/test包下面,你怎么检查是否位置正确?答案就是看package命令中的声明。
    这也是为什么在eclipse环境下,已经先建了包了,但是在类文件中为什么还要再加上package命令中的声明。
    另外,建议楼主找“java2核心技术卷1 基础知识”这本书看一下,讲的很详细。这本书在网上用迅雷可以下载电子版。