Java 包与文件夹结构的区别是什么

我想知道在用于 JavaEE 开发的 EclipseIDE 中使用的文件夹结构和包之间有什么区别。

我们什么时候用哪一个,为什么。

什么应该是实践

  • 创建一个像 src/com/utils 这样的文件夹结构,然后在其中创建一个类
  • 创建一个类似 src.com.util 的包,然后在其中创建一个类

如果我以后需要编写一个 Ant 脚本进行部署,那么哪个选项更好更容易部署呢?

如果我选择文件夹结构,部署会像从开发到部署目标复制文件那样容易吗?

61404 次浏览

创建一个类似‘ src.com.util’的包

这听起来像是一个错误。包名应该是“ com.util”,而“ src”是源文件夹的名称。

除此之外,我看不出你的两个选择有什么不同。结果是一样的,对吧?只是在 GUI 中到达它的步骤不同。在 Eclipse 中创建新包的向导只是在源文件夹中创建适当的文件夹层次结构的包装器。

您根本不需要创建空包,您可以直接创建类(如果包不存在,将自动创建它)。

基本上没有区别,两者是一样的。

在这两种情况下,文件夹结构都将是 src/com/utils

在这两种情况下,你都需要提到

package com.utils;

作为 class的第一行

因为它实际上没有任何区别,所以它对 ant script没有任何区别。

如果配置正确,在 src中添加一个文件夹就等于从 File > New Package中添加一个包。

所以,这取决于你,你觉得舒服的任何东西——添加一个文件夹或创建一个包。而且,当你把东西放在 src下面时,包的名字从子文件夹开始。因此,src/com/naishe/test将是包 com.naishe.test

”当我们使用与其他类相同的类名时,打包帮助我们避免类名冲突。例如,如果我们有一个名为“ Vector”的类名,它的名称将与来自 JDK 的 Vector 类一起崩溃。但是,这从未发生,因为 JDK 使用 java.util 作为 Vector 类(java.util)的包名。矢量)。因此,我们的 Vector 类可以命名为“ Vector”,或者我们可以将其放入另一个包中,比如 com.mycompany。不和任何人打架的 Vector。使用包的好处反映了易于维护、组织和增加开发人员之间的协作。理解软件包的概念也将帮助我们以更有效的方式管理和使用存储在 jar 文件中的文件。”

查看 http://www.jarticles.com/package/package_eng.html了解更多关于软件包的信息

包自动是“源文件夹”,其中的文件夹只是普通文件夹。 在编译 Eclipse 项目时,源文件夹中的所有文件都会被编译,但不会在普通文件夹中编译(除非是那些普通文件夹 a)

文件夹结构或特定的源文件夹在 Eclipse 中只是为了 Eclipse,但包是通用的,与任何编辑器无关。.