Encadenamiento de constructores en Java

Encadenamiento De Constructores En Java



En Java, los constructores juegan un papel crucial en la inicialización de la instancia de la clase. Estos son similares a los métodos de Java. Sin embargo, el nombre del constructor siempre es el mismo que el nombre de la clase, mientras que un método normal puede tener cualquier nombre válido. En su mayoría, estos también se conocen como métodos especiales para declarar un objeto. Puede crear un encadenamiento de constructores que se produzca con la ayuda de la herencia. El constructor hijo/subclase llama primero al constructor padre/superclase y luego se pueden invocar los constructores de clase hijo.

Esta publicación informará sobre el encadenamiento de constructores en Java.







Encadenamiento de constructores en Java

El cambio de constructor es el procedimiento más importante para llamar un constructor a otro constructor de acuerdo con los objetivos establecidos. Uno de los usos principales del encadenamiento de constructores es evitar códigos redundantes al tener múltiples constructores. Hace que el código sea fácilmente comprensible y legible.



Hay dos métodos para realizar el encadenamiento de constructores en Java, como se menciona a continuación:



Veamos estos métodos uno por uno para comprender mejor el encadenamiento de constructores.





Método 1: Encadenamiento de constructores dentro de la misma clase usando la palabra clave “this()”

Cuando el encadenamiento del constructor se realiza dentro de la misma clase, el Java “ este() Se utiliza la palabra clave ”. El constructor predeterminado se invocará cuando se inicie una instancia de clase. Llamará a otro constructor usando el ' este ” palabra clave. Luego, invoca el método “println()” para mostrar el resultado en la consola:



min ( ) {
este ( 5 ) ;
Sistema.fuera.println ( 'El constructor predeterminado' ) ;
}

 
Ahora, llame al segundo constructor que consta de un parámetro ' a ” y establecer el valor de los parámetros en el “ este() ” palabra clave. Luego, utilice el “ imprimir() ” y pase “a” como argumento para mostrar el resultado:

min ( en un ) {
este ( 5 , 20 ) ;
Sistema.fuera.println ( a ) ;
}

 
En este constructor, hemos pasado los dos parámetros de tipo entero como ' a ' y ' b ”. Después de eso, invoque el método “println()” y pase “ a*b ” que devolverá el producto de estas variables:

min ( int a, int b ) {
Sistema.fuera.println ( a * b ) ;
}

 
En el ' principal() ”, invoque el constructor predeterminado que llamará automáticamente a los otros constructores y mostrará el resultado en la consola:

vacío público estático principal ( Argumentos de cadena [ ] ) {
nuevo mínimo ( ) ;
}

 
Como resultado, la salida de todos los constructores se mostrará en la consola:


Si desea encadenar el constructor en varias clases, consulte el método que se indica a continuación.

Método 2: Encadenamiento de constructores a otra clase usando la palabra clave 'super()'

También puede encadenar los constructores de una clase a otra. Para ello se utiliza la palabra clave “super()”. Para hacerlo, utilice el siguiente código en la clase principal.

En primer lugar, defina una variable de tipo cadena ' nombre ” y llame al primer constructor usando el nombre de la clase principal:

Nombre de cadena;
min ( ) {
este ( '' ) ;
Sistema.fuera.println ( 'Sin constructor de clase base' ) ;
}

 
Invoque el segundo constructor y pase la variable declarada anteriormente ' Nombre de cadena ” como parámetro. Utilizar el ' este ” palabra clave para acceder al valor e invocar el “ imprimir() ” método para fines de impresión:

min ( Nombre de cadena ) {
este.nombre = nombre;
Sistema.fuera.println ( 'Llamar al constructor parametrizado de la base' ) ;
}

 
Dentro de ' principal() ” método, llame a la clase secundaria con el parámetro “ nombre ”. Eso llamará a los constructores de la clase principal donde el parámetro ' nombre ' esta pasado. Luego, invocará al constructor de clase hijo con el parámetro “ nombre ”:

vacío público estático principal ( Argumentos de cadena [ ] ) {
niño nuevo ( 'nombre' ) ;
}

 
Se crea una clase secundaria que utiliza el ' extiende ” palabra clave para heredar la clase principal e invocar el tercer constructor. Después de eso, llame al siguiente constructor y dentro de este constructor, invoque al segundo constructor de la clase principal:

clase Niño extiende min {
Niño ( ) {
Sistema.fuera.println ( 'Sin constructor de argumentos de clase secundaria' ) ;
  }
Niño ( Nombre de cadena ) {
súper ( nombre ) ;
Sistema.fuera.println ( 'Llamar al constructor parametrizado del niño' ) ;
  }
}

 
Producción


Eso es todo sobre el encadenamiento de constructores en Java.

Conclusión

En Java, el encadenamiento de constructores en la misma clase se realiza mediante la palabra clave 'this()', mientras que la palabra clave 'super()' se utiliza para realizar el encadenamiento de constructores en varias clases. El encadenamiento de constructores ocurre con la ayuda de la herencia. El constructor de la subclase llama primero al constructor de la superclase y luego se pueden invocar los constructores de la clase secundaria. Esta publicación ha discutido el encadenamiento de constructores en Java con ejemplos prácticos.