Diferencia entre paquetes e interfaces en Java

Autor: Laura McKinney
Fecha De Creación: 2 Abril 2021
Fecha De Actualización: 10 Mayo 2024
Anonim
Diferencia entre clases abstractas e interfaces en Java
Video: Diferencia entre clases abstractas e interfaces en Java

Contenido


Los paquetes y las interfaces actúan como un contenedor. Las clases pueden usar el contenido de los paquetes y las interfaces al importarlo e implementarlo 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.

  1. Cuadro comparativo
  2. Definición
  3. Diferencias clave
  4. Conclusión

Cuadro comparativo

Bases para la comparaciónPaquetesInterfaces
BASICPaquetes es un grupo de clases y / o interfaces juntas.Interfaces es un grupo de métodos abstractos y campos constantes.
Palabra claveLos paquetes se crean usando la palabra clave "Paquete".Las interfaces se crean usando la palabra clave "Interfaz".
Sintaxispaquete nombre_paquete;
public class class_name {
.
(cuerpo de clase)
.
}
interface interface_name {
declaración variable;
declaración de método;
}
AccesoUn paquete puede ser importado Una interfaz puede ser extendida por otra interfaz e implementada por la clase.
Palabra clave de acceso Los paquetes se pueden importar usando la palabra clave "import".Las interfaces se pueden implementar usando la palabra clave "implement".


Definición de paquetes

Los paquetes son colecciones o grupos de la variedad de clases e interfaces. Las clases en paquetes están relacionadas entre sí en algún ámbito o por herencia. También puede crear su paquete y usarlo 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 el nombre del paquete es el nombre que desea dar al paquete.
  2. A continuación, define una clase que desea incluir en el paquete y recuerda que la declara pública.
  3. Guarde el archivo como un archivo .java y luego compile el archivo, luego se obtendrá ".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 principal, use “javac -d. . nombre_archivo.java ".
  5. También puede crear un subpaquete declarando el nombre del subpaquete como en la parte superior del archivo.

paquete Mypackage; public class myclass {public void displayMypackage () {system.out.ln ("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 utilizando 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" es seguida por el nombre del paquete seguido por el operador de punto y el nombre de la clase que desea usar del paquete. En segundo lugar, si desea utilizar muchas clases contenidas en los paquetes, la palabra clave de importación es seguida por el nombre del paquete seguido por el punto y el operador "*".

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

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 {class 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 utilizado su método displayMypackage ().

Definición de interfaz

La interfaz es una especie de clase, pero difiere en un 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 sus requisitos. Como los métodos en la interfaz no realizan ninguna función, no sirve de nada 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 Circle implementa Area {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; flotador F = Área. find_area (10,10); system.out.ln ("El área del círculo es:" + F); }

En el código anterior, creamos un Área de interfaz, y la clase Circle implementó el Área de interfaz. El campo "pi" se ha inicializado en la interfaz en el momento de su declaración. El círculo de clase ha definido el método abstracto del área de clase de acuerdo con sus requisitos.

  1. Un paquete es un grupo de clases e interfaces juntas, mientras que una interfaz es un grupo de métodos abstractos.
  2. El paquete se crea usando una palabra clave paquete mientras que se crea una interfaz usando una palabra clave interfaz.
  3. Si se va a utilizar una clase o una interfaz dentro de un paquete, el paquete se importará mientras 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 utilizará en lugar de definirlo nuevamente.Mientras que la interfaz reduce las confusiones ocurridas durante las herencias múltiples porque en el caso de las herencias múltiples, la clase heredera no tiene que decidir qué definición de qué método debe heredar, sino que define la suya propia.