Paquetes en Java: cómo crear / importar paquetes

¿Qué es el paquete en Java?

PACKAGE en Java es una colección de clases, subpaquetes e interfaces. Ayuda a organizar sus clases en una estructura de carpetas y facilita su localización y uso. Más importante aún, ayuda a mejorar la reutilización del código.

Cada paquete en Java tiene su nombre único y organiza sus clases e interfaces en un espacio de nombres separado o grupo de nombres.

Aunque las interfaces y clases con el mismo nombre no pueden aparecer en el mismo paquete, pueden aparecer en diferentes paquetes. Esto es posible asignando un espacio de nombres separado a cada paquete de Java.

Sintaxis:-

package nameOfPackage;

El siguiente video lo lleva a través de los pasos para crear un paquete.

Haga clic aquí si el video no es accesible

Estudiemos el paquete con un ejemplo. Definimos una clase y un objeto y luego lo compilamos en nuestro paquete p1. Después de la compilación, ejecutamos el código como un paquete java.

¿Cómo crear un paquete?

Crear un paquete es una tarea sencilla de la siguiente manera

  • Elija el nombre del paquete
  • Incluya el comando del paquete como la primera línea de código en su archivo fuente de Java.
  • El archivo de origen contiene las clases, interfaces, etc. que desea incluir en el paquete
  • Compilar para crear los paquetes de Java

Paso 1) Considere el siguiente paquete de programas en 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();}}

Aquí,

  1. Para poner una clase en un paquete, en la primera línea de código defina el paquete p1
  2. Crea una clase c1
  3. Definición de un método m1 que imprime una línea.
  4. Definiendo el método principal
  5. Creando un objeto de clase c1
  6. Método de llamada m1

Paso 2) En el siguiente paso, guarde este archivo como demo.java

Paso 3) En este paso, compilamos el archivo.

La compilación está completa. Se crea un archivo de clase c1. Sin embargo, ¿no se crea ningún paquete? El siguiente paso tiene la solución

Paso 4) Ahora tenemos que crear un paquete, use el comando

javac -d . demo.java

Este comando obliga al compilador a crear un paquete.

El "." operador representa el directorio de trabajo actual.

Paso 5) Cuando ejecuta el código, crea un paquete p1. Cuando abra el paquete java p1 dentro, verá el archivo c1.class.

Paso 6) Compile el mismo archivo usando el siguiente código

javac -d… demo.java

Aquí "..." indica el directorio principal. En nuestro caso, el archivo se guardará en el directorio principal que es C Drive

Archivo guardado en el directorio principal cuando se ejecuta el código anterior.

Paso 7) Ahora digamos que desea crear un subpaquete p2 dentro de nuestro paquete java existente p1. Luego modificaremos nuestro código como

package p1.p2;class c1{public void m1() {System.out.println("m1 of c1");}}

Paso 8) compila el archivo

Como se ve en la captura de pantalla a continuación, crea un subpaquete p2 que tiene la clase c1 dentro del paquete.

Paso 9) Para ejecutar el código, mencione el nombre completo de la clase, es decir, el nombre del paquete seguido del nombre del subpaquete seguido del nombre de la clase -

java p1.p2.c1

Así es como se ejecuta el paquete y da la salida como "m1 de c1" del archivo de código.

Cómo importar paquete

Para crear un objeto de una clase (incluido en un paquete), en su código, debe usar su nombre completo.

Ejemplo:

java.awt.event.actionListner object = new java.awt.event.actionListner();

Sin embargo, podría resultar tedioso escribir el nombre de la ruta del paquete largo separado por puntos para cada clase que desee utilizar. En su lugar, se recomienda que utilice la declaración de importación.

Sintaxis

import packageName; 

Una vez importada, puede utilizar la clase sin mencionar su nombre completo.

import java.awt.event.*; // * signifies all classes in this package are importedimport javax.swing.JFrame // here only the JFrame class is imported//UsageJFrame f = new JFrame; // without fully qualified name.

Ejemplo : para importar paquete

Paso 1) Copie el código en un editor.

package p3;import p1.*; //imports classes only in package p1 and NOT in the sub-package p2class c3{public void m3(){System.out.println("Method m3 of Class c3");}public static void main(String args[]){c1 obj1 = new c1();obj1.m1();}}

Paso 2) Guarde el archivo como Demo2.java. Compile el archivo usando el comando javac -d. Demo2.java

Paso 3) Ejecute el código usando el comando java p3.c3

Paquetes - puntos a tener en cuenta:

  • Para evitar conflictos de nombres, los paquetes reciben los nombres del dominio de la empresa al revés Ej .: com.guru99. com.microsoft, com.infosys, etc.
  • Cuando no se especifica un nombre de paquete, una clase está en el paquete predeterminado (el directorio de trabajo actual) y el paquete en sí no recibe ningún nombre. Por lo tanto, pudo ejecutar las asignaciones antes.
  • Al crear un paquete, se debe tener cuidado de que la declaración para crear el paquete debe escribirse antes que cualquier otra declaración de importación
// not allowedimport package p1.*;package p3;//correct syntaxpackage p3;import package p1.*;

el paquete java.lang se importa de forma predeterminada para cualquier clase que cree en Java.

La API de Java es muy extensa, contiene clases que pueden realizar casi todas sus tareas de programación desde la manipulación de la estructura de datos hasta la conexión en red. La mayoría de las veces, utilizará archivos API en su código. Puedes ver la documentación de la API aquí.

Articulos interesantes...