如何在 Java 中创建包
Java 中的包是什么?
Java 中的包是类、子包和接口的集合。它有助于将类组织成文件夹结构,方便查找和使用它们。更重要的是,它有助于提高代码的可重用性。Java 中的每个包都有其唯一的名称,并将其类和接口组织到单独的命名空间或名称组中。
虽然同名的接口和类不能出现在同一个包中,但它们可以出现在不同的包中。通过为每个 Java 包分配单独的命名空间可以实现这一点。
语法:-
package nameOfPackage;
下面的视频将引导您完成创建包的步骤。
如果视频无法访问,请点击此处
让我们通过一个例子来学习包。我们定义一个类和一个对象,稍后在我们的包 p1 中编译它。编译后,我们将代码作为一个 Java 包来执行。
如何创建包?
创建包是一个简单的任务,如下所示
- 选择包的名称
- 将 package 命令包含在 Java 源文件的第一行代码中。
- 源文件包含您想要包含在包中的类、接口等
- 编译以创建 Java 包
步骤 1)考虑 Java 中的以下包程序
package p1; class c1(){ public void m1(){ System.out.println("m1 of c1"); } public static void main(string args[]){ c1 obj = new c1(); obj.m1(); } }
此处,
- 要将类放入包中,请在代码的第一行定义 package p1
- 创建一个类 c1
- 定义一个打印一行输出的方法 m1。
- 定义 main 方法
- 创建类 c1 的对象
- 调用方法 m1
步骤 2)下一步,将此文件保存为 demo.java
步骤 3)在此步骤中,我们编译文件。
编译已完成。创建了一个类文件 c1。但是,没有创建包?下一步是解决方案
步骤 4)现在我们需要创建一个包,请使用命令
javac –d . demo.java
此命令强制编译器创建包。
“.”运算符表示当前工作目录。
步骤 5)执行代码时,它会创建一个包 p1。当您打开 Java 包 p1 时,里面会看到 c1.class 文件。
步骤 6)使用以下代码编译同一个文件
javac –d .. demo.java
这里“..”表示父目录。在我们的例子中,文件将保存在父目录中,也就是 C 驱动器。
执行上述代码时,文件已保存在父目录中。
步骤 7)现在假设您想在现有的 Java 包 p1 中创建一个子包 p2。然后我们将修改代码为
package p1.p2; class c1{ public void m1() { System.out.println("m1 of c1"); } }
步骤 8)编译文件
如以下屏幕截图所示,它创建了一个子包 p2,其中包含包内的类 c1。
步骤 9)要执行代码,请提及类的完全限定名,即包名后跟子包名后跟类名 –
java p1.p2.c1
这就是包的执行方式,并产生“m1 of c1”的输出。
如何导入包
要创建类对象(打包在包中),您必须在代码中使用其完全限定名。
示例
java.awt.event.actionListner object = new java.awt.event.actionListner();
但是,对于要使用的每个类,键入长长的点分隔包路径名可能会变得乏味。相反,建议您使用 import 语句。
语法
import packageName;
导入后,您无需提及类的完全限定名即可使用该类。
import java.awt.event.*; // * signifies all classes in this package are imported import javax.swing.JFrame // here only the JFrame class is imported //Usage JFrame f = new JFrame; // without fully qualified name.
示例:导入包
步骤 1)将代码复制到编辑器中。
package p3; import p1.*; //imports classes only in package p1 and NOT in the sub-package p2 class c3{ public void m3(){ System.out.println("Method m3 of Class c3"); } public static void main(String args[]){ c1 obj1 = new c1(); obj1.m1(); } }
步骤 2)将文件保存为 Demo2.java。使用命令 **javac –d . Demo2.java** 编译文件
步骤 3)使用命令 **java p3.c3** 执行代码
包 – 注意事项
- 为避免命名冲突,包的名称应为公司域名名称的倒序,例如:com.guru99. com.microsoft, com.infosys 等。
- 未指定包名时,类位于默认包(当前工作目录)中,包本身没有名称。因此,您之前能够执行作业。
- 创建包时,请注意创建包的语句必须写在任何其他 import 语句之前。
// not allowed import package p1.*; package p3; //correct syntax package p3; import package p1.*;
对于您在 Java 中创建的任何类,java.lang 包都会被默认导入。
Java API 非常广泛,包含可以执行从数据结构操作到网络连接的几乎所有编程任务的类。您很可能会在代码中使用 API 文件。您可以在此处查看 API 文档。