Recomendado, 2024

La Elección Del Editor

Diferencia entre paquetes e interfaces en Java

Paquetes e Interfaces ambos actúan como un contenedor. El contenido en paquetes e interfaces puede ser utilizado por las clases importándolo e implementándolo de manera correspondiente. La diferencia básica entre paquetes e interfaces es que un paquete contiene un grupo de clases e interfaces, mientras que una interfaz contiene métodos y campos. Estudiemos algunas otras diferencias con la ayuda del cuadro comparativo.

Gráfica comparativa

Bases para la comparaciónPaquetesInterfaces
BASICLos paquetes son un grupo de clases y / o interfaces juntas.Interfaces es un grupo de métodos abstractos y campos constantes.
Palabra claveLos paquetes se crean utilizando la palabra clave "Paquete".Interfaz se crean utilizando la palabra clave "Interfaz".
Sintaxispaquete nombre_paquete;
clase pública nombre_clase {
.
(cuerpo de clase)
.
}
interfaz nombre_interfaz {
declaración de variable
declaración de método;
}
AccesoUn paquete puede ser importadoUna interfaz puede ser extendida por otra interfaz e implementada por la clase.
Palabra clave de accesoLos paquetes se pueden importar usando la palabra clave "importar".Las interfaces se pueden implementar utilizando la palabra clave "implementar".

Definición de Paquetes

Los paquetes son una colección o grupos de la variedad de clases e interfaces. Las clases en los paquetes están relacionadas entre sí en algún ámbito o por herencia. También puede crear su paquete y utilizarlo para su programa.

Creando un paquete

Para crear un paquete solo siga los siguientes pasos.

  1. Abra un archivo y luego declare el nombre del paquete en la parte superior del archivo, como [package_name; ] el nombre del paquete es el nombre que desea darle al paquete.
  2. A continuación, define una clase que desea colocar en el paquete y recuerde que la declara pública.
  3. Guarde el archivo como un archivo .java y luego compile el archivo, luego se obtiene ".class" para ese archivo.
  4. Para crear un paquete para este archivo, el comando utilizado es "javac -d. nombre_archivo.java. Puede ver que el paquete se crea con un archivo ".class" en el directorio actual. Para colocarlo en el directorio padre use "javac -d. . file_name.java ”comando.
  5. También puede crear un subpaquete declarando el nombre del subpaquete como [package package_name1. nombre_paquete2; ] en la parte superior del archivo.
 paquete Mypackage; public class myclass {public void displayMypackage () {system.out.println ("método displayMypackage de la clase myclass del paquete Mypackage"); } 

Usando el paquete

Los paquetes creados o disponibles en el directorio se pueden usar en el programa mediante una declaración de importación. La palabra clave utilizada para importar cualquier paquete en su programa es "importar". La declaración de importación se puede escribir de dos maneras, o puede decir que hay dos formas de acceder a cualquier paquete. Primero, si desea usar una clase particular de un paquete, la palabra clave "importar" va seguida del nombre del paquete seguido por el operador de punto y el nombre de la clase que desea usar del paquete. Segundo, si desea usar muchas clases contenidas en los paquetes, entonces la palabra clave de importación va seguida del nombre del paquete seguido por el punto y el operador "*".

 importar package_name. nombre de la clase; o importar package_name. *; 

En el código anterior, puede ver el signo * que indica que el segundo método importa todas las clases contenidas en los paquetes.

Ahora, veamos el uso del paquete con un ejemplo.

 Importar Mypackage. myclass {clase TestMypackage {public static void main (string args []) {myclass ob1 = new myclass (); ob1.displayMypackage (); }} // método de salida displayMypackage de la clase myclass del paquete Mypackage. 

En el código anterior, la clase TestMypackage ha importado el paquete Mypackage y ha usado su método displayMypackage ().

Definición de interfaz

La interfaz es un tipo de clase, pero difiere en el sentido de que los métodos declarados en la interfaz son abstractos, lo que significa que los métodos solo se declaran pero no se definen. Los campos en la interfaz son siempre públicos, estáticos, finales. Los campos deben inicializarse en el momento de la declaración. Los métodos declarados por la interfaz están definidos por la clase que implementa esa interfaz de acuerdo con su requisito. Como los métodos en la interfaz no realizan ninguna función, no se puede crear ningún objeto de la interfaz. Por lo tanto, no se puede crear ningún objeto para la interfaz.

La interfaz también puede heredar la otra interfaz, pero la clase que hereda dicha interfaz también debe implementar todos los métodos de la interfaz heredada. Como los campos se inicializan en el momento de su declaración en la interfaz, no hay necesidad de constructor en la interfaz, por lo tanto, la interfaz no contiene ningún constructor. Veamos el ejemplo de crear y usar una interfaz.

 Área de interfaz {float pi = 3.14; float find_area (float a, float b) {} class Círculo implementa Área {float find_area (float a, float b) {return (pi * a * a); } Formas de clase {public static void main (string args []) {Area A = new Area (); Círculo C = nuevo círculo (); A = C; flotar F = Área. find_area (10, 10); system.out.println ("El área del círculo es:" + F); } 

En el código anterior, creamos un Área de interfaz y la clase Círculo implementó el Área de interfaz. El campo "pi" se ha inicializado en la interfaz en el momento de su declaración. La clase Círculo ha definido el método abstracto del área de clase según su requisito.

Diferencias clave entre paquetes e interfaces en Java

  1. Un paquete es un grupo de clases e interfaces, mientras que una interfaz es un grupo de métodos abstractos.
  2. El paquete se crea utilizando un paquete de palabras clave , mientras que una interfaz se crea mediante una interfaz de palabra clave.
  3. Si se va a utilizar una clase o una interfaz dentro de un paquete, el paquete se importará mientras que se debe implementar una interfaz.

Conclusión:

Tanto los paquetes como la interfaz son los contenedores. El paquete reduce el tamaño del código, ya que solo importamos la clase que se usará en lugar de definirla nuevamente. Mientras que la interfaz reduce las confusiones ocurridas en múltiples herencias porque en el caso de las múltiples herencias, la clase heredera no tiene que decidir la definición de qué método debería heredar, sino que define la suya propia.

Top