Java 包和 API 深度解析:组织代码,避免命名冲突

打印 上一主题 下一主题

主题 860|帖子 860|积分 2580

Java 包和 API

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

  • 内置包(来自 Java API 的包)
  • 用户定义的包(创建自己的包)
内置包
Java API 是一个预先编写的类库,可以在 Java 开发环境中免费使用。
该库包含用于管理输入、数据库编程等等的组件。完整的列表可以在 Oracle 的网站上找到:
该库分为包和类。这意味着您可以导入单个类(以及其方法和属性),或者导入包含属于指定包的所有类的整个包。
要使用库中的类或包,您需要使用import关键字:
  1. // 导入单个类
  2. import package.name.Class;
  3. // 导入整个包
  4. import package.name.*;
复制代码
导入类
如果找到要使用的类,例如Scanner类(用于获取用户输入),请编写以下代码:
  1. // 导入 Scanner 类
  2. import java.util.Scanner;
复制代码
在上面的示例中,java.util 是一个包,而 Scanner 是 java.util 包的一个类。
要使用 Scanner 类,请创建该类的对象,并使用 Scanner 类文档中提供的任何可用方法。在我们的例子中,我们将使用 nextLine() 方法,该方法用于读取一整行:
  1. // 使用 Scanner 类获取用户输入
  2. import java.util.Scanner;
  3. class MyClass {
  4.   public static void main(String[] args) {
  5.     Scanner myObj = new Scanner(System.in);
  6.     System.out.println("Enter username");
  7.     String userName = myObj.nextLine();
  8.     System.out.println("Username is: " + userName);
  9.   }
  10. }
复制代码
导入包
有许多包可供选择。在前面的例子中,我们使用了 java.util 包中的 Scanner 类。该包还包含日期和时间设施、随机数生成器和其他实用类。
要导入整个包,请以星号(*)结束句子。以下示例将导入 java.util 包中的所有类:
  1. // 导入整个 java.util 包
  2. import java.util.*;
复制代码
用户定义的包
要创建自己的包,您需要了解 Java 使用文件系统目录来存储它们。就像计算机上的文件夹一样:
  1. └── root
  2.   └── mypack
  3.     └── MyPackageClass.java
复制代码
要创建一个包,请使用 package 关键字:
  1. // MyPackageClass.java
  2. package mypack;
  3. class MyPackageClass {
  4.   public static void main(String[] args) {
  5.     System.out.println("This is my package!");
  6.   }
  7. }
复制代码
将文件保存为 MyPackageClass.java,并编译它:
  1. C:\Users\Your Name>javac MyPackageClass.java
复制代码
然后编译包:
  1. C:\Users\Your Name>javac -d . MyPackageClass.java
复制代码
这会强制编译器创建“mypack”包。

  • -d 关键字指定了保存类文件的目标位置。您可以使用任何目录名称,例如 c:/user(Windows),或者如果要将包保留在同一目录中,可以使用点号“.”,就像上面的例子一样。
注意:包名应以小写字母写入,以避免与类名冲突。
在上面的例子中编译包时,将创建一个名为“mypack”的新文件夹。
要运行 MyPackageClass.java 文件,请写入以下内容:
  1. C:\Users\Your Name>java mypack.MyPackageClass
复制代码
输出将是:
  1. This is my package!
复制代码
一些额外的说明:

  • 可以使用多个 import 语句来导入多个类或包。
  • 可以使用 static import 语句导入静态方法和变量。
  • 可以使用包名来组织代码,例如将所有与数据库相关的类放在一个包中,将所有与 GUI 相关的类放在另一个包中。
  • 使用包可以提高代码的清晰度和可维护性。
最后

为了方便其他设备和平台的小伙伴观看往期文章:
微信公众号搜索:Let us Coding,关注后即可获取最新文章推送
看完如果觉得有帮助,欢迎 点赞、收藏、关注

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

忿忿的泥巴坨

金牌会员
这个人很懒什么都没写!

标签云

快速回复 返回顶部 返回列表