Java 包

Java 包和 API

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

包分为两类:

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

内置软件包

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

该库包含用于管理输入、数据库编程等的组件。完整列表可以在 Oracles 网站上找到:

https://docs.oracle.com/javase/8/docs/api/

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

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

语法

import package.name.Class;   // 导入单个类
import package.name.*;   // 导入整个包

导入类

如果导入需要使用的类,例如用于获取用户输入Scanner 类,请编写以下代码:

实例

import java.util.Scanner;

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

如需使用 Scanner 类,请创建该类的对象并使用 Scanner 类文档中的任何可用方法。

在下面的例子中,将使用 nextLine() 方法,该方法用于读取完整行:

实例

使用 Scanner 类获取用户输入:

import java.util.Scanner;

class MyClass {
  public static void main(String[] args) {
    Scanner myObj = new Scanner(System.in);
    System.out.println("Enter username");

    String userName = myObj.nextLine();
    System.out.println("Username is: " + userName);
  }
}

亲自试一试

导入包

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

如需导入整个包,请以星号 (*) 结束句子。下例将导入 java.util 包中的所有类:

实例

import java.util.*;

亲自试一试

用户定义的包

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

实例

└── root
  └── mypack
    └── MyPackageClass.java

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

MyPackageClass.java

package mypack;
class MyPackageClass {
  public static void main(String[] args) {
    System.out.println("这是我的包!");
  }
}

亲自试一试

请将文件保存为 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

输出将是:

这是我的包!