Constructores en Java

En Java, un constructor es un bloque de códigos similar al método. Se llama cuando se crea una instancia de la clase. En el momento de llamar al constructor, la memoria para el objeto se asigna en la memoria.

Es un tipo especial de método que se usa para inicializar el objeto.

Cada vez que se crea un objeto usando la palabra clave new (), se llama al menos a un constructor.

Llama a un constructor predeterminado si no hay ningún constructor disponible en la clase. En tal caso, el compilador de Java proporciona un constructor predeterminado por defecto.

Hay dos tipos de constructores en Java: constructor sin arg y constructor parametrizado.

Nota: Se llama constructor porque construye los valores en el momento de la creación del objeto. No es necesario escribir un constructor para una clase. Es porque el compilador de Java crea un constructor predeterminado si su clase no tiene ninguno.

Reglas para crear un constructor de Java

Hay dos reglas definidas para el constructor.

  1. El nombre del constructor debe ser el mismo que el nombre de su clase
  2. Un constructor no debe tener un tipo de retorno explícito
  3. Un constructor de Java no puede ser abstracto, estático, final y sincronizado

Nota: Podemos usar modificadores de acceso al declarar un constructor. Este controla la creación del objeto. En otras palabras, podemos tener un constructor privado, protegido, público o predeterminado en Java.

Tipos de constructores de Java

Hay dos tipos de constructores en Java:

  1. Constructor predeterminado (constructor sin argumentos)
  2. Constructor parametrizado

Java Default Constructor

Un constructor se llama «Default Constructor» cuando no tiene » parámetro.

Sintaxis del constructor predeterminado:

Ejemplo de constructor predeterminado

En este ejemplo, estamos creando el no- constructor arg en la clase Bike. Se invocará en el momento de la creación del objeto.

Pruébelo ahora

Resultado:

Bike is created

Regla: Si no hay un constructor en una clase, el compilador crea automáticamente un constructor predeterminado.

P) ¿Cuál es el propósito de un constructor predeterminado?

El constructor predeterminado se utiliza para proporcionar los valores predeterminados al objeto como 0, nulo, etc., según el tipo.

Ejemplo de constructor predeterminado que muestra los valores predeterminados

Pruébelo ahora

Resultado:

0 null0 null

Explicación: En la clase anterior, no creando cualquier constructor para que el compilador le proporcione un constructor predeterminado. Aquí los valores 0 y nulos son proporcionados por el constructor predeterminado.

Constructor parametrizado de Java

Un constructor que tiene un número específico de parámetros se llama constructor parametrizado.

¿Por qué utilizar el constructor parametrizado?

El constructor parametrizado se utiliza para proporcionar diferentes valores a distintos objetos. Sin embargo, también puede proporcionar los mismos valores.

Ejemplo de constructor parametrizado

En este ejemplo, hemos creado el constructor de la clase Student que tiene dos parámetros. Podemos tener cualquier número de parámetros en el constructor.

Pruébelo ahora

Resultado:

111 Karan222 Aryan

Sobrecarga del constructor en Java

En Java, un constructor es como un método pero sin tipo de retorno. También se puede sobrecargar como los métodos de Java.

La sobrecarga de constructores en Java es una técnica de tener más de un constructor con diferentes listas de parámetros. Están organizados de manera que cada constructor realice una tarea diferente. El compilador los diferencia por el número de parámetros de la lista y sus tipos.

Ejemplo de sobrecarga de constructores

Pruébelo ahora

Resultado:

111 Karan 0222 Aryan 25

Diferencia entre constructor y método en Java

Hay muchas diferencias entre constructores y métodos. Se proporcionan a continuación.

Java Constructor Método Java
Se usa un constructor para inicializar el estado de un objeto. Se usa un método para exponer el comportamiento de un objeto.
Un constructor debe no tener un tipo de retorno. Un método debe tener un tipo de retorno.
El constructor se invoca implícitamente. El método se invoca explícitamente.
El compilador de Java proporciona un constructor predeterminado si no tiene ningún constructor en una clase. El método no lo proporciona el compilador en cualquier caso.
El nombre del constructor debe ser el mismo que el nombre de la clase. El nombre del método puede o no ser el mismo que el de la clase name.

Java Copy Constructor

No hay un constructor de copias en Java.Sin embargo, podemos copiar los valores de un objeto a otro como un constructor de copias en C ++.

Hay muchas formas de copiar los valores de un objeto a otro en Java. Son:

  • Por constructor
  • Asignando los valores de un objeto a otro
  • Por método clone () de la clase Object

En este ejemplo, vamos a copiar los valores de un objeto en otro usando el constructor Java.

Pruébelo ahora

Salida:

111 Karan111 Karan

Copiar valores sin constructor

Podemos copiar los valores de un objeto en otro asignando los valores de los objetos a otro objeto. En este caso, no es necesario crear el constructor.

Pruébelo ahora

Salida:

111 Karan111 Karan

P) ¿El constructor devuelve algún valor?

Sí, es la instancia de clase actual (no puede usar el tipo de retorno pero devuelve un valor).

¿Puede el constructor realizar otras tareas en lugar de la inicialización?

Sí, como la creación de un objeto, iniciar un hilo, llamar a un método, etc. Puede realizar cualquier operación en el constructor como lo hace en el método.

¿Hay una clase Constructor en Java?

Sí.

¿Cuál es el propósito de la clase Constructor?

Java proporciona una clase Constructor que puede ser utilizado para obtener la información interna de un constructor en la clase. Se encuentra en el paquete java.lang.reflect.

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *