【问题标题】:How to use Java packages? [duplicate]如何使用 Java 包? [复制]
【发布时间】:2011-04-13 21:23:19
【问题描述】:

为什么我们在 Java 中使用包? 如何使用它们?

【问题讨论】:

    标签: java


    【解决方案1】:

    大部分只是一种组织代码的方式。 JDK 中有数千个类,而大型应用程序有数千个。为什么您想要将它们组织成某种层次结构,以便您轻松找到您感兴趣的类?

    参与 Java 中的访问控制(但有趣的是,不在 .NET 中) - 但我想说主要目的是帮助人类组织他们的代码有意义的。

    意味着有时您可能希望或需要在多个包中使用相同的类名 - 其中包名有效地提供了上下文。现在,如果您正在为单个应用程序使用单个代码库,这通常是要尽量避免的 - 但如果您有一个大型代码库,其中许多不同的应用程序使用它的许多不同部分,这可能比尝试为每个类都设置一个唯一的名称要好。 (一个典型的例子是在用户界面代码中——只要查看 .NET 库,在三个独立的命名空间中有一个“Button”类,用于三个独立的 UI 框架。)

    【讨论】:

      【解决方案2】:

      包是对相似类进行分组的一种方式。您不想将所有类都放在一个包中,对吗?

      【讨论】:

        【解决方案3】:

        将 java 中的包视为您 PC 上的文件夹。你喜欢将不同类型的文件保存在不同的文件夹中,就像你在 java 的不同包中保存不同类型的类和接口一样。

        通过这样做,我们获得了一些优势,其中一些在下面列出-

        • 对相似文件进行分组:您将视频保存在 Entertainment\Videos 等文件夹中,将文档保存在 Personal\Documents 等文件夹中。就像这种类似的类和接口在 java 中保存在相同的包中。
        • 安全性:就像您可以隐藏或设置密码来保护文件夹中文件的内容一样,您可以通过将您的类成员声明为受保护或不使用任何访问说明符来实现相同的功能。李>
        • 可读性和可访问性:假设需要找到一种类或接口,那么您可以通过其名称找到该种包并进行搜索。因此,您可以缩小搜索范围,然后轻松查找和访问。
        • 仅使用必需文件 假设您只是在执行一个简单的 hello world 程序,并且不需要导入这么多类,在这种情况下,java 库中所有可用的类都不会进口的。如果您没有包,则将导入 java 库中的每个类。

        我们在包中定义类/接口,使用 java 关键字 package 后跟包结构。它必须是您的类/接口的第一条语句。如果您没有定义包名,那么该文件将被放置在默认包中,即您的源代码文件夹。

        package com.my.package.MyClass;

        Java 中使用的包前面带有关键字import。使用点 (.) 运算符访问包的级别,就像我们在 PC 上的文件夹中使用“/”或“\”一样。

        导入一个名为 com\my\package 的包中可用的类 MyClass:

        import com.my.package.MyClass;

        导入名为 com\my\package 的包中所有可用的类:

        import com.my.package.*;

        只导入一个类的静态字段,这样不用类名就可以直接访问:

        import static com.my.package.MyClass.myStaticField;

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2020-10-07
          • 1970-01-01
          • 2011-02-13
          • 2012-08-14
          • 2015-07-02
          • 1970-01-01
          相关资源
          最近更新 更多