Java 包

Java 包 与 API

Java 中的包用于对相关类进行分组。可以将其视为 文件目录中的文件夹。我们使用包来避免名称冲突,并编写更好的可维护代码。Java 包分为两类:

  • 内置包(来自 Java API 的包)
  • 用户定义的包(创建自己的包)

内置包

Java API是 Java 开发环境中包含的一个预编写类库,可以免费使用。

该库包含用于管理输入、数据库编程等的组件。完整列表可在 Oracles 网站上找到:https://docs.oracle.com/javase/8/docs/api/.

该库分为 。这意味着您可以导入单个类(及其方法和属性),也可以导入包含属于指定包的所有类的整个包。

要使用库中的类或包,需要使用 import 关键字:

语法
  1. import package.name.Class; // Import a single class
  2. import package.name.*; // Import the whole package

导入类

如果您找到了一个想要使用的类,例如,用于获取用户输入Scanner 类,请编写以下代码:

实例
  1. import java.util.Scanner;

在上面的例子中,java.util 是一个包,而 Scannerjava.util包的一个类。

要使用 Scanner 类,请创建该类的对象,并使用 Scanner 类文档中的任何可用方法。在我们的示例中,我们将使用 nextLine() 方法,该方法用于读取完整的行:

实例

使用 Scanner 类获取用户输入:

  1. import java.util.Scanner;
  2. class MyClass {
  3. public static void main(String[] args) {
  4. Scanner myObj = new Scanner(System.in);
  5. System.out.println("Enter username");
  6. String userName = myObj.nextLine();
  7. System.out.println("Username is: " + userName);
  8. }
  9. }

导入包

有很多包可供选择。在上一个实例中,我们使用了 java.util 包 中的 Scanner 类。这个包还包含日期和时间工具、随机数生成器和其他实用程序类。

要导入整个软件包,请在句子末尾加一个星号(*)。下面的实例将导入 java.util 中的所有类:

实例
  1. import java.util.*; // import the java.util package
  2. class Main {
  3. public static void main(String[] args) {
  4. Scanner myObj = new Scanner(System.in);
  5. String userName;
  6. // Enter username and press Enter
  7. System.out.println("Enter username");
  8. userName = myObj.nextLine();
  9. System.out.println("Username is: " + userName);
  10. }
  11. }

用户定义的包

要创建自己的包,您需要了解 Java 使用文件系统目录来存储它们。就像你电脑上的文件夹一样:

实例
  1. └── root
  2. └── mypack
  3. └── MyPackageClass.java

要创建包,请使用 package 关键字:

MyPackageClass.java
  1. package mypack;
  2. class MyPackageClass {
  3. public static void main(String[] args) {
  4. System.out.println("This is my package!");
  5. }
  6. }

将文件另存为 MyPackageClass.java,并编译它:

C:\Users\Your Name>javac MyPackageClass.java

然后编译包:

C:\Users\Your Name>javac -d . MyPackageClass.java

这使编译器创建 "mypack" 包。

-d 关键字指定保存类文件的目标。您可以使用任何目录名,比如 c:/user(windows),或者,如果你想把包保存在同一个目录中,你可以使用点符号".",就像上面的例子。

注意:包名应该用小写字母书写,以避免与类名冲突。

当我们在上面的实例中编译包时,创建了一个名为 "mypack" 的新文件夹。

编写以下代码运行 MyPackageClass.java 文件:

C:\Users\Your Name>java mypack.MyPackageClass

将输出:

This is my package!