如何使用Java包?

为什么我们在Java中使用包? 怎么用?

主要只是一种组织代码的方式。 JDK有数千个类,大型应用程序有数千个类。 你为什么不想把它们组织成某种层次结构,让你轻松找到你感兴趣的课程?

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

它还意味着您可能偶尔需要或需要多个包中的相同类名 – 其中包名有效地提供了上下文。 现在,如果你在单个代码库中为单个应用程序工作,那通常是要避免的 – 但如果你有一个大型代码库,许多不同的应用程序使用它的许多不同部分,那可能比尝试每个class级都有一个唯一的名称。 (一个典型的例子是用户界面代码 – 只是查看.NET库,在三个独立的UI框架中有三个独立的命名空间中的“Button”类。)

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

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

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

我们在包中使用java关键字package定义类/接口,然后是包结构。 它必须是您的类/接口的第一个声明。 如果您没有定义包名称,那么该文件将放在默认包中,这是您的源代码文件夹。

package com.my.package.MyClass;

包在java中使用,前面是关键字import 。 使用点(。)运算符访问包的级别,就像在PC上的case文件夹中执行’/’或’\’一样。

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

import com.my.package.MyClass;

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

import com.my.package.*;

仅导入类的静态字段,以便您可以直接访问它而无需使用类名:

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

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