logo

¿Por qué utilizamos Constructor en Java?

En esta sección aprenderemos por qué usamos un constructor en Java y Cuál es el propósito y necesidad del constructor . Junto a esto, también veremos la tipos de constructor.

En Java, el constructor es similar al método. La propiedad del constructor es que debe tener el mismo nombre que el nombre de la clase. No tiene tipo de devolución. No es necesario llamar al constructor manualmente. Se invoca automáticamente de forma implícita durante la creación de instancias.

.06 como fracción

En otras palabras, un constructor es un método que se llama en tiempo de ejecución durante la creación del objeto mediante el uso del operador new. La JVM lo llama automáticamente cuando creamos un objeto. Cuando no definimos un constructor en la clase, el constructor predeterminado siempre está presente de forma invisible en la clase. Existen las siguientes razones para utilizar constructores:

  • Usamos constructores para inicializar el objeto con el estado inicial o predeterminado. Es posible que los valores predeterminados para las primitivas no sean los que busca.
  • Otra razón para utilizar el constructor es que informa sobre las dependencias. En otras palabras, usando el constructor, podemos solicitar al usuario de esa clase las dependencias requeridas.
  • Podemos descubrir qué necesita para usar esta clase, simplemente mirando el constructor.

En resumen, usamos el constructor para inicializa la variable de instancia de la clase.

Tipos de constructores

Hay dos tipos de constructores en Java:

  • Constructor parametrizado
  • Constructor predeterminado

Constructor parametrizado

Como sugiere el nombre, acepta argumentos (parámetros). El constructor parametrizado se utiliza si queremos inicializar dinámicamente las variables de instancia con los valores especificados en el momento de la creación de instancias.

Ejemplo

 public class Demo { int i; //parameterized constructor public demo(int i) { this.i = i; } } 

Constructor predeterminado

El constructor predeterminado no acepta ningún parámetro. Se utiliza si queremos inicializar las variables de instancia con ciertos valores. Cada clase de Java tiene un constructor predeterminado, de forma invisible. Por lo tanto, no es necesario definirlo por separado. Recuerde que el constructor predeterminado se elimina de la clase cuando creamos un constructor parametrizado.

Ejemplo

 public class Demo { int i; //default constructor public demo() { //the value of i is fixed this.i = 100; } } 

Nota: Cuando no proporcionamos ningún constructor a un programa Java, el compilador de Java escribe el constructor predeterminado en nombre del programador y compila el programa. Inicializa las variables de instancia con los valores predeterminados. Por ejemplo, 0 para entero, 0,0 para flotante y nulo para cadena.

Creemos un programa y usemos el constructor predeterminado y parametrizado.

En la clase Empleado, hemos creado dos constructores, uno es el constructor predeterminado y el otro es el constructor parametrizado. La clase Empleado tiene dos variables privadas, a saber, nombre y edad. En el método principal, creamos una instancia de la clase y utilizamos ambos constructores.

iterar a través del mapa java

Employee.java

 import java.util.Scanner; public class Employee { private String name; private int age; //parameterized constructor public Employee(String name, int age) { this.name =name; this.age = age; } //Default constructor public Employee() { this.name = 'William'; this.age = 28; } //method for printing the values public void show() { System.out.println('Name of the employee: '+this.name); System.out.println('Age of the employee: '+this.age); } //main method public static void main(String args[]) { Employee e=new Employee(); //Reading values from user Scanner sc = new Scanner(System.in); System.out.println('Enter the name of the employee: '); String name = sc.nextLine(); System.out.println('Enter the age of the employee: '); int age = sc.nextInt(); System.out.println(' '); //Calling the parameterized constructor System.out.println('Show() method for the parameterized constructor: '); new Employee(name, age).show(); //Calling the default constructor System.out.println('Show() method for the default constructor: '); new Employee().show(); } } 

Producción:

 Enter the name of the employee: David Enter the age of the employee: 27 Show() method for the parameterized constructor: Name of the employee: David Age of the employee: 27 Show() method for the default constructor: Name of the employee: William Age of the employee: 28