package、folder和source folder的区别

本文介绍了在Eclipse中,package、folder和source folder的区别。folder作为普通文件夹仅用于存放文件;package是Java开发中的包,遵循特定路径;source folder则专门存放Java源代码并被编译。不同点在于,package使用点分隔,source folder使用反斜线,并且package不能包含source folder。相同点是,它们中的Java源代码都会被编译。可以通过Build Path设置进行转换。

前言:我使用的是Eclipse,因此示例都是以这个IDE进行演示,其他IDE应该是类同的。package、folder和source folder本质都是文件夹,只不过是处理方式不同的文件夹。

  首先我们说明一下最简单的folder,通过名字我们也可以理解,其就是文件夹。与我们操作系统下的文件夹完全一样,不起到任何作用,只是存放文件而已,存放到folder中的任何文件都只当做普通文件夹,不管其中文件是否正确,因为IDE不会对其进行任何检查。

  package就是Java开发过程中的包,其路径就是每一个类的包路径,其必须存放在一个source folder下。

  source folder是用来存放Java源代码的,其下的所有Java源文件都会被时时编译成class文件。对于JavaSE的项目会被编译到项目目录下的bin目录下,对于JavaEE项目会被编译到相应的/WEB-INF/classes文件夹中,无论是哪种项目bin文件和classes文件夹都是不会再IDE中显示的,并且上面说到的都是默认的编译路径。这些我们也都是可以更改的。如下:

项目上右击 → Build Path → Configure Build Path

下面分别是不同的配置:

SE项目:

EE项目:

下面对package与source folder的区别进行整理:

不同点:

  • source folder是通过“/”(反斜线)来进行上下级划分的,而package是通过“.”(点)来进行上下级划分的。
  • source folder下能创建package,但是反过来是不可以的,也就是说package下不能创建source folder。
  • java源文件中的package属性是按照package路径来进行赋值的,换句话说在source folder这个目录下的文件的package属性为空。

相同点:

  • 其中的Java源代码都会被时时编译成class文件。
  • 其中的非java文件会被拷贝一份到相应的class路径下。

注意:我们可以创建多个source folder,其实是对我们代码的一种归类,但他们中的Java源文件都会根据其包路径编译到相应的class路径下(例如:SE是bin目录),我们利用这一特性,可以将我们的测试代码与程序主代码分离,只要保证其包路径一样,就不需要import(导入)就可以直接使用了,因为他们的class文件已经编译到相同的包中了。

上面的三种文件夹的转换,我们可以通过右击 → Build Path中的选项进行操作。如下:

  • package 转成 folder 显示:选中package, build path →  Exclude
  • folder 转成 package 显示:选中folder, build path → Include
  • package 转成 source folder 显示:选中package, build path → Use as Source folder
  • source folder 转成 package 显示:选中folder, build path →  Remove from BuildPath

参考资料:

赞赏

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值