Java 中创建包

什么是 Java 中的包(Package)?

Package 是相关类的集合。它有助于将你的类组织成文件夹结构,并使其易于查找和使用。更重要的是,它有助于提高可重用性。

Java 中的每个包都有其唯一的名称,并将其类和接口组织到单独的命名空间或名称组中。

虽然具有相同名称的接口和类不能出现在同一个包中,但它们可以出现在不同的包中。这可以通过为每个包分配单独的命名空间来实现。

语法:-

package nameOfPackage;

让我们用一个例子来研究包。我们定义一个类和对象,然后在我们的包 p1 中编译它。编译之后,我们将代码作为 java 包执行。

步骤 1: 考虑以下代码,

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(); 
	}
}

这里,

  1. 要将类放入包中,在第一行代码中定义包 p1
  2. 创建一个类 c1
  3. 定义打印行的方法 m1。
  4. 定义主要方法
  5. 创建类 c1 的对象
  6. 调用方法 m1

步骤 2: 在下一步中,将此文件另存为 demo.java

步骤 3: 在这一步中,我们编译文件。

java demo.java

编译完成。创建一个类文件 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

步骤 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** 执行代码

Package - 注意事项:

  • 为了避免命名冲突,包中给出了公司域名的名称,反之例如:com.tastones, 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 文档这里。