El bloque inicializador en Java

Para realizar cualquier operación mientras se asignan valores a un miembro de datos de instancia, se utiliza un bloque inicializador. En términos más simples, el bloque inicializador se usa para declarar/inicializar la parte común de varios constructores de una clase. Se ejecuta cada vez que se crea el objeto. 

El bloque inicializador contiene el código que siempre se ejecuta cada vez que se crea una instancia y se ejecuta cada vez que se crea un objeto de la clase. Hay 3 áreas donde podemos usar los bloques inicializadores:

  • Constructores
  • Métodos
  • bloques 

Sugerencia: si queremos ejecutar algún código una vez para todos los objetos de una clase, usaremos Static Block en Java

Ejemplo 1:

Java

// Java Program to Illustrate Initializer Block
  
// Class
class Car {
  
    // Class member variable
    int speed;
    
    // Constructor
    Car()
    {
  
        // Print statement when constructor is called
        System.out.println("Speed of Car: " + speed);
    }
    // Block
    {
        speed = 60;
    }
    // Class member method
    public static void main(String[] args)
    {
  
        Car obj = new Car();
    }
}
Producción

Speed of Car: 60

Ejemplo 2:

Java

// Java Program to Illustrate Initializer Block
  
// Importing required classes
import java.io.*;
  
// Main class
public class GFG {
  
    // Initializer block starts..
    {
        // This code is executed before every constructor.
        System.out.println(
            "Common part of constructors invoked !!");
    }
    // Initializer block ends
  
    // Constructor 1
    // Default constructor
    public GFG()
    {
  
        // Print statement
        System.out.println("Default Constructor invoked");
    }
  
    // Constructor 2
    // Parameterized constructor
    public GFG(int x)
    {
  
        // Print statement
        System.out.println(
            "Parameterized constructor invoked");
    }
  
    // Main driver method
    public static void main(String arr[])
    {
  
        // Creating variables of class type
        GFG obj1, obj2;
  
        // Now these variables are
        // made to object and interpreted by compiler
        obj1 = new GFG();
  
        obj2 = new GFG(0);
    }
}
Producción

Common part of constructors invoked !!
Default Constructor invoked
Common part of constructors invoked !!
Parameterized constructor invoked

Nota: El contenido del bloque inicializador se ejecuta cada vez que se invoca cualquier constructor (antes del contenido del constructor).
El orden de los constructores de inicialización y el bloque inicializador no importa, el bloque inicializador siempre se ejecuta antes que el constructor.

Para obtener más detalles sobre la inicialización de instancias en Java, consulte el artículo Bloque de inicialización de instancias (IIB) en Java

Este artículo es una contribución de Ashutosh Singh . Si te gusta GeeksforGeeks y te gustaría contribuir, también puedes escribir un artículo usando write.geeksforgeeks.org o enviar tu artículo por correo a review-team@geeksforgeeks.org. Vea su artículo que aparece en la página principal de GeeksforGeeks y ayude a otros Geeks. Escriba comentarios si encuentra algo incorrecto o si desea compartir más información sobre el tema tratado anteriormente.

Publicación traducida automáticamente

Artículo escrito por GeeksforGeeks-1 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

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