在Java中,我应该创建新的包,文件夹还是源文件夹?

关于SO有几个问题,但是我对 Java开发完全不熟悉,我不知道正确的方法.

我有一个C#解决方案,包含两个项目(我的应用程序和一个单元测试项目),在应用程序中,大多数东西都放在文件夹中,例如.接口,异常等

我试图在Java / Eclipse中重新创建它,但我不知道如何.我最终得到了很多包,听起来真的很糟糕.我也尝试添加一个文件夹,但最终是在包外面.

有人能指出我正确的方向吗?

也就是说,我应该使用哪些来表示我的单元测试项目/单元测试集,以及仅用于组织内容的子文件夹.

编辑:它还表示不建议使用认包.我该怎么办?

编辑2:这是它的样子.这看起来有点模糊吗?我原来的C#解决方案就在右边.

解决方法

在典型的java eclipse项目中,您将拥有一个或多个源文件夹(例如,一个用于应用程序代码,一个用于单元测试).

每个文件夹都包含一个包树,通常从您的基本包开始,例如com.mycompany.myapp.

为了避免名称冲突,包名称通常以作为代码作者的实体的域名开头,从顶级域开始并向后(更一般到更具体).这样,每个类的完全限定名称都是唯一的.例如,如果Google创建了一个名为List的类,它将被称为com.google.List,并且它不会与现有的java.util.List接口冲突.

您可以在此基本包中包含无限数量的包,例如:

com.mycompany.myapp.persistence
com.mycompany.myapp.domain
com.mycompany.myapp.services
com.mycompany.myapp.web

这完全取决于您的项目以及您希望组织代码和类的方式.

在逻辑级别,包以点作为分隔符命名.它们包含java类.

在物理磁盘级别,每个包都是一个目录. java类包含在.java文件中(最常见的是每个文件一个类).

在Eclipse中,“源文件夹”是项目内部的一个文件夹,Eclipse已知该文件夹包含java源文件.在构建项目时,它将被编译包含在输出中(例如JAR文件).

在Eclipse中,您通常在逻辑级别查看它们,显示包.当您告诉Eclipse“创建一个新包”时,它将为您创建目录.例如,如果您告诉它创建com.mycompany.myproject包,它将自动创建一个包含mycompany文件夹的com文件夹,其中包含myproject文件夹.

相关文章

HashMap是Java中最常用的集合类框架,也是Java语言中非常典型...
在EffectiveJava中的第 36条中建议 用 EnumSet 替代位字段,...
介绍 注解是JDK1.5版本开始引入的一个特性,用于对代码进行说...
介绍 LinkedList同时实现了List接口和Deque接口,也就是说它...
介绍 TreeSet和TreeMap在Java里有着相同的实现,前者仅仅是对...
HashMap为什么线程不安全 put的不安全 由于多线程对HashMap进...