当前位置: 首页 > 面试题库 >

在Java文件中定义包的目的是什么?[关闭]

楚涵润
2023-03-14
问题内容

已关闭 。这个问题是基于观点的。它当前不接受答案。

想改善这个问题吗? 更新问题,以便通过编辑此帖子以事实和引用的形式回答。

3个月前关闭。

改善这个问题

我是新手,只是了解到如果我说

package my.first.group.here;
...

那么该软件包中的Java文件将放置在my/first/group/here目录下。

将某些Java文件放入程序包的主要目的是什么?另外,如果我选择采用这种方式,应该如何将它们分组?

谢谢

编辑:对于可能再次遇到相同问题的任何人,我刚刚从Sun的软件包中找到了本教程


问题答案:

让我们从Wikipedia文章中描述的“ Java包”的定义开始:

Java包是一种将Java类组织到类似于Modula模块的名称空间中的机制。Java包可以存储在称为JAR文件的压缩文件中,从而使类可以成组下载,而不是一次下载得更快。程序员通常还使用包来组织属于同一类别或提供类似功能的类。

因此,基于此, Java包只是用于组织类并防止类名冲突的一种机制
。你能说出他们任何你希望的,但Sun公司已经公布了一些命名约定,你
应该 命名包时使用:

配套

唯一软件包名称的前缀始终以全小写ASCII字母书写,并且应为顶级域名之一,当前为com,edu,gov,mil,net,org或英语的两个字母代码之一根据1981年的ISO标准3166确定国家。

包名称的后续组成部分会根据组织内部的内部命名约定而有所不同。这样的约定可能指定某些目录名称组件是部门,部门,项目,计算机或登录名。

例子:

  • com.sun.eng

  • com.apple.quicktime.v2

  • edu.cmu.cs.bovik.cheese



 类似资料:
  • 现在其他包中的 HelloWorld.java 可以访问数据类型这个类。 如果我在其他包这个目录中创建一个新的目录,并且把 HelloWorld.java 移动到这个目录内。编辑器会提示需要声明这个包,假如这个新的目录的名称是 h,那么需要增加一条 package h;这个时候数据类型这个类就无法被访问了。 包和目录层级之间是有什么关系?

  • 问题内容: Java中的接口类似于类,但是接口的主体只能包含 抽象方法 和字段(常量)。 最近,我看到一个问题,看起来像这样 根据接口定义, 仅 允许 使用抽象方法 。为什么它允许我编译以上代码?关键字是什么? 另一方面,当我尝试编写下面的代码时,它说 代替 谁能告诉我关键字的目的?只能在接口内部使用吗?与(无访问修饰符)有什么区别? 问题答案: 这是Java 8中的一项新功能,可提供一个实现。在

  • 本文向大家介绍testng.xml文件的目的是什么?,包括了testng.xml文件的目的是什么?的使用技巧和注意事项,需要的朋友参考一下 testng.xml文件具有多种用途,如下所示- 测试用例按组执行。 执行中可以包括或排除测试方法。 可以触发从多个Java类文件执行多个测试用例。 包含文件夹,类,方法的名称。 能够触发并行执行。 执行中可以包括或排除属于组的测试方法。 示例 TestNG.

  • 我有一行代码 我使用输入来获得一些用户输入。 我的程序警告我有资源泄漏,因为输入从未关闭。 一旦我加了一行 它停止抱怨,一切正常。 我是新来的Java,想知道关闭输入的目的是什么?它做什么。

  • 我目前正试图深入研究Java虚拟机的规范。我一直在网上阅读JVM书籍,其中有一个令人困惑的抽象我似乎无法理解:常量池。以下是这本书的摘录: 对于加载的每种类型,Java虚拟机都必须存储一个常量池。常量池是类型使用的一组有序常量,包括文本(字符串、整数和浮点常量)以及对类型、字段和方法的符号引用。常量池中的条目由索引引用,很像数组的元素。因为常量池包含对类型使用的所有类型、字段和方法的符号引用,所以

  • 问题内容: 我找不到关于SO的Q / A来回答我的 确切 问题,所以我想我将其发布并看看会回来什么。 就Java包的命名约定而言,我知道它应该是反向域名:并且我得到了关于不混合大小写,连字符,关键字等的规则。 我还阅读了Java语言规范的7.7节(唯一包名称)。据我所知,Java的规则是使用反向域来确保唯一性……如果您没有,请去获取一个: -第7.7节 因此,如果我对花钱买一个域名不感兴趣,那么我