¿Cómo ejecutar el bloque de inicialización de instancia (IIB) sin crear un objeto en Java?

En un programa Java, las operaciones se pueden realizar en métodos, constructores y bloques de inicialización. Los bloques de inicialización de instancia o IIB se utilizan para inicializar variables de instancia. Sabemos que el bloque de instancia es el método sin nombre en java dentro del cual podemos definir la lógica y poseen ciertas características. La lógica de bloque de instancia es común para todos los objetos y se ejecutará una sola vez para cada objeto durante su creación. Ahora, veamos la ejecución normal de bloques de instancia mediante la creación de objetos.

Demostración 1: ejecución normal del bloque de instancia

Java

// Executing instance block
// by creating object.
  
// Class 1
// Helper class
class GFG {
  
    {
        // Creation of an instance block
        System.out.println("Instance block called by creating objects");
    }
}
  
// Class 2
// Main class
class GFGJava {
  
    // main driver method
    public static void main(String[] args)
    {
  
        // Object of 1st kind
        GFG obj1 = new GFG();
  
        // Object of 2nd kind
        GFG obj2 = new GFG();
  
        // Object of 3rd kind
        GFG obj3 = new GFG();
    }
}

Producción:

Instance block called by creating objects
Instance block called by creating objects
Instance block called by creating objects

Explicación: el bloque de instancia se ejecuta solo una vez por cada creación de objeto. Aquí se ejecutó para obj1, obj2 y obj3.

Demostración 2: Ejecutar bloque de instancia sin crear un objeto

En la Demostración 1, vimos la ejecución del bloque de instancia mediante la creación de objetos que son obvios, pero existe la idea errónea de que un bloque de instancia no se puede ejecutar sin crear un objeto que no es verdadero. En nuestra próxima demostración, veremos cómo podemos ejecutar un bloque de instancia sin crear un objeto.

Java

// Executing instance
// block by creating object.
  
// Class 1
// Helper class
class GFG {
  
    {
        // Creation of an instance block
        System.out.println(
            "Instance block called by creating objects");
    }
}
  
// Class 2
// Main class
class GFGJava {
  
    // main driver method
    public static void main(String[] args)
    {
        // Declaring instance block inside main method
        {
            System.out.println(
                "Instance block inside main method called without creating an object");
        }
  
        // Object of 1st kind
        GFG obj1 = new GFG();
  
        // Object of 2nd kind
        GFG obj2 = new GFG();
  
        // Object of 3rd kind
        GFG obj3 = new GFG();
    }
}

Producción:

C:\Users\Bikash\Desktop\GeeksforGeeks Java>javac GFG.java
C:\Users\Bikash\Desktop\GeeksforGeeks Java>java GFG
Instance block inside main method called without creating an object
Instance block called by creating objects
Instance block called by creating objects
Instance block called by creating objects

Explicación: También es posible ejecutar un bloque de instancia sin crear un objeto. Para ejecutar un bloque de instancia sin crear un objeto, debemos definirlo explícitamente dentro del método principal.

Publicación traducida automáticamente

Artículo escrito por dattabikash505 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 *