如何使用Java包?

时间:2010-09-17 19:22:59

标签: java

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

3 个答案:

答案 0 :(得分:8)

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

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

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

答案 1 :(得分:1)

将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;

答案 2 :(得分:0)

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