用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
public void print(){
System.out.println("I am " + this.getClass());
}
public static void main(String[] args){
new PackageTest().print();
}
}执行:java com.test.PackageTest
别人用着也好找,比如com.xx.xx.vo
就知道里面放的是什么,而且知道是谁写的.
如果文件系统里已经有这个文件夹,会发生什么?回答:和没有的时候一样
包和文件夹是不是不同的概念,但为什么它们的路径是相同的。回答:不是 包是java里面的概念,文件夹是window的。不过作用是一样的。
编译以后的.class文件是不是放在包名所指的文件夹内。回答:是
还有,在eclipse中开发时,不是都先在wen-inf/src建一个包再编码,已经有了现成的包了,为什么还要用package打包。我认为有了现成的包,package就可以不用了呀。不要给我think in java的解释,我已经看过了。谢谢!回答:你不建包,我怎么把文件存到你指定的包下面!
2.package的作用有很多:如下
2.1 我们在开发的时候不建议用裸体类,那样容易重名.现在将就的是团体开发,不是一个人单做.
2.2 以后在开发项目中的代码是很大的,你不用包,那样查找和协调都不方便.
2.3 尤其在开发WEB项目的时候,现在都用框架和MVC思想,你总不能告诉我DB层,MODLE层,DAO,IMPLE全部都放在一起吧..
这些问题不是我说说你就理解的,要从基础学习,一个刚接触JAVA的人,我不建议看Think In Java这本书.
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 基础知识”这本书看一下,讲的很详细。这本书在网上用迅雷可以下载电子版。