Paquetes en Java: ¿Cómo crear y usar paquetes en Java?



Esta publicación sobre paquetes en Java lo ayudará a comprender qué son los paquetes, cómo crearlos y usarlos en Java para ser programadores Java eficientes.

Uno de los más innovadores es el concepto de paquetes.Los paquetes en Java son una forma de encapsular un grupo de clases, interfaces, enumeraciones, anotaciones y subpaquetes. Conceptualmente, puede pensar que los paquetes de Java son similares a diferentes carpetas de su computadora. En este tutorial, cubriremos los conceptos básicos de los paquetes en

A continuación se enumeran los temas cubiertos en este artículo:





analizar archivos xml en java

¿Qué es el paquete en Java?

El paquete Java es un mecanismo para agrupar tipos similares de clases, interfaces y subclases de forma colectiva según la funcionalidad. Cuando el software está escrito en , puede estar compuesto por cientos o incluso miles de clases individuales. yoTiene sentido mantener las cosas organizadas colocando clases e interfaces relacionadas en paquetes.

El uso de paquetes durante la codificación ofrece muchas ventajas como:



    • Reutilización: Las clases contenidas en los paquetes de otro programa se pueden reutilizar fácilmente
    • Conflictos de nombres: Paquetesayudarnos a identificar de forma única una clase, por ejemplo, podemos tener company.sales.Employee y company.marketing.Employee clases
    • Acceso controlado: Ofertas protección de acceso como pclases protegidas, clases predeterminadas y clases privadas
    • Encapsulación de datos : Ellos pProporcionar una forma de ocultar clases, evitando que otros programas accedan a clases que están destinadas solo para uso interno.
    • Mantenimiento: Con paquetes,puede organizar mejor su proyecto y localizar fácilmente las clases relacionadas

Es una buena práctica utilizar paquetes mientras se codifica en Java. Como programador, puedeaveriguar fácilmente el , interfaces, enumeraciones y anotaciones relacionadas. Tenemos dos tipos de paquetes en java.

Tipos de paquetes en Java

En función de si el paquete lo define el usuario o no, los paquetes se dividen en dos categorías:

  1. Paquetes integrados
  2. Paquetes definidos por el usuario

Paquetes integrados

Los paquetes integrados o los paquetes predefinidos son aquellos que vienen como parte de (Java Development Kit) para simplificar la tarea del programador Java. Consisten en una gran cantidad de clases e interfaces predefinidas que forman parte de las API de Java. Algunos de los paquetes integrados de uso común son java.lang, java.io, java.util, java.applet, etc. Aquí hay un programa simple que usa un paquete integrado.



paquete Edureka import java.util.ArrayList class BuiltInPackage {public static void main (String [] args) {ArrayList myList = new ArrayList (3) myList.add (3) myList.add (2) myList.add (1) System. out.println ('Los elementos de la lista son:' + myList)}}

Salida:

Los elementos de la lista son: [3, 2, 1]

La clase ArrayList pertenece al paquete java.util. Para usarlo, tenemos que importar el paquete usando la declaración de importación. La primera línea del código import java.util.ArrayList importa el paquete java.util y usa que está presente en el subpaquete util.

Paquetes definidos por el usuario

Los paquetes definidos por el usuario son aquellos que son desarrollados por los usuarios para agrupar clases, interfaces y subpaquetes relacionados. Con la ayuda de un programa de ejemplo, veamos cómo crear paquetes, compilar programas Java dentro de los paquetes y ejecutarlos.

Creando un paquete en Java

Crear un paquete en Java es una tarea muy sencilla. Elija un nombre para el paquete e incluya un paquete comando como la primera declaración en el archivo fuente de Java. El archivo fuente de Java puede contener las clases, interfaces, enumeraciones y tipos de anotaciones que desea incluir en el paquete.Por ejemplo, la siguiente declaración crea un paquete llamado Mi paquete.

paquete MyPackage

La declaración del paquete simplemente especifica a qué paquete pertenecen las clases definidas.

Nota: Si omite la declaración del paquete, los nombres de las clases se colocan en el paquete predeterminado, que no tiene nombre. Aunque el paquete predeterminado está bien para programas cortos, no es adecuado para aplicaciones reales.

Incluir una clase en el paquete Java

Acrear una clase dentro de un paquete, debedeclare el nombre del paquete como la primera declaración de su programa. Luego incluya la clase como parte del paquete. Pero recuerde que una clase solo puede tener una declaración de paquete. A continuación, se ofrece un programa sencillo para comprender el concepto.

paquete MyPackage public class Compare {int num1, num2 Compare (int n, int m) {num1 = n num2 = m} public void getmax () {if (num1> num2) {System.out.println ('Valor máximo de dos números es '+ num1)} else {System.out.println (' El valor máximo de dos números es '+ num2)}} public static void main (String args []) {Compare current [] = new Compare [3] current [1] = nuevo Comparar (5, 10) actual [2] = nuevo Comparar (123, 120) para (int i = 1 i<3 i++) { current[i].getmax() } } } 

Salida:

El valor máximo de dos números es 10 El valor máximo de dos números es 123

Como puede ver, he declarado un paquete llamado MyPackage y he creado una clase Compare dentro de ese paquete. Java usa directorios del sistema de archivos para almacenar paquetes. Entonces, este programa se guardaría en un archivo como Compare.java y se almacenará en el directorio llamado MyPackage. Cuando el archivo se compila, Java creará un .clase archivo y guárdelo en el mismo directorio. Recuerde que el nombre del paquete debe ser el mismo que el del directorio en el que se guarda este archivo.

Quizás se esté preguntando cómo usar esta clase Compare de una clase en otro paquete.

Crear una clase dentro del paquete mientras se importa otro paquete

Bueno, es bastante simple. Solo necesitas importarlo. Una vez que se importa, puede acceder a él por su nombre. Aquí hay un programa de muestra que demuestra el concepto.

paquete Edureka import MyPackage.Compare public class Demo {public static void main (String args []) {int n = 10, m = 10 Compare current = new Compare (n, m) if (n! = m) {current.getmax ()} else {System.out.println ('Ambos valores son iguales')}}}

Salida:

Ambos valores son iguales

Primero he declarado el paquete Edureka , luego importó la clase Comparar del paquete MyPackage. Entonces, el ordencuando estamos creando una clase dentro de un paquete mientras importamos otro paquete es,

  • Declaración del paquete
  • Importación de paquetes

Bueno, si no desea utilizar la declaración de importación, existe otra alternativa para acceder a un archivo de clase del paquete desde otro paquete. Puede usar un nombre completo al importar un .

Usar un nombre completo al importar una clase

A continuación, se muestra un ejemplo para comprender el concepto. Voy a usar el mismo paquete que he declarado anteriormente en el blog, Mi paquete .

package Edureka public class Demo {public static void main (String args []) {int n = 10, m = 11 // Usando un nombre completo en lugar de importar MyPackage.Compare current = new MyPackage.Compare (n, m) if ( n! = m) {current.getmax ()} else {System.out.println ('Ambos valores son iguales')}}}

Salida:

El valor máximo de dos números es 11

En la clase Demo, en lugar de importar el paquete, utilicé el nombre completo, como MyPackage.Compare para crear el objeto de la misma. Ya que estamos hablando de importar paquetes, también puede revisar el concepto de importación estática en Java.

Importación estática en Java

La función de importación estática se introdujo en de la versión 5. Facilita al programador Java acceder a cualquiermiembro de una clase directamente sin utilizar el nombre completo.

package MyPackage import static java.lang.Math. * // static import import static java.lang.System. * // static import public class StaticImportDemo {public static void main (String args []) {double val = 64.0 double sqroot = sqrt (val) // Acceda al método sqrt () directamente out.println ('Sq. root of' + val + 'es' + sqroot) // No necesitamos usar 'System.out}}
 Salida: 
Cuadrados raíz de 64.0 es 8.0

Aunque el uso de la importación estática implica menos codificación, su uso excesivo puede hacer que el programa sea ilegible y no se pueda mantener. Pasemos ahora al tema siguiente, control de acceso en paquetes.

Protección de acceso en paquetes Java

Es posible que conozca varios aspectos del mecanismo de control de acceso de Java y su especificadores de acceso . Los paquetes en Java agregan otra dimensión al control de acceso. Tanto las clases como los paquetes son un medio de encapsulación de datos . Mientras que los paquetes actúan como contenedores para clases y otros paquetes subordinados, las clases actúan como contenedores para datos y código. Debido a esta interacción entre paquetes y clases, los paquetes de Java abordan cuatro categorías de visibilidad para los miembros de la clase:

  • Subclases en el mismo paquete
  • No subclases en el mismo paquete
  • Subclases en diferentes paquetes
  • Clases que no están en el mismo paquete ni subclases

La siguiente tabla da unaimagen real de qué tipo de acceso es posible y cuál no cuando se usan paquetes en Java:

Privado No Modifier Protegido Público

Misma clase

si

si

si

si

Mismo paquete subclases

No

si

si

si

Mismo paquete no subclases

No

si

si

si

Diferentes subclases de paquetes

No

No

si

¿Cuáles son las 6 formas de utilizar esta palabra clave?

si

Diferentes paquetes no subclases

No

No

No

si

Podemos simplificar los datos de la tabla anterior de la siguiente manera:

  1. Se puede acceder a cualquier cosa declarada pública desde cualquier lugar
  2. Todo lo que se declare privado solo se puede ver dentro de esa clase
  3. Si no se menciona el especificador de acceso, un elemento es visible para las subclases, así como para otras clases en el mismo paquete.
  4. Por último, cualquier elemento protegido declarado se puede ver fuera de su paquete actual, pero solo para las clases que subclasifican su clase directamente

De esta forma, los paquetes de Java proporcionan control de acceso a las clases. Bueno, esto resume el concepto de paquetes en Java. Aquí hay algunos puntos que debe tener en cuenta cuando utilice paquetes en .

Puntos para recordar

  • Cada clase es parte de algún paquete. Si omite la declaración del paquete, los nombres de las clases se colocan en el paquete predeterminado
  • Una clase puede tener solo una declaración de paquete, pero puede tener más de una declaración de paquete de importación
  • El nombre del paquete debe ser el mismo que el del directorio en el que se guarda el archivo.
  • Al importar otro paquete, la declaración del paquete debe ser la primera declaración, seguida de la importación del paquete.

Bueno, esto nos lleva al final de este artículo 'Paquetes en Java'. Aprendimosqué es un paquete y por qué deberíamos usarlo. No hay duda de que el paquete Java es una de las partes más importantes para los programadores Java eficientes. No solo actualiza el estilo de codificación del programador, sino que también reduce mucho trabajo adicional.

Si encontró este artículo sobre 'Paquetes en Java', consulte el por Edureka, una empresa de aprendizaje en línea de confianza con una red de más de 250.000 alumnos satisfechos repartidos por todo el mundo. Estamos aquí para ayudarlo en cada paso de su viaje, para que, además de estas preguntas de la entrevista de Java, se desarrolle un plan de estudios diseñado para estudiantes y profesionales que desean ser Desarrolladores de Java.