2017-07-24 4 views
0

Was ist der Initialisierungsblock in Java? Wie hilft es beim Programmieren?Benötigt einen Initialisierungsblock in Java

Fügen wir einfach eine Reihe geschweifter Klammern extra in unseren Code ein?

ZB:

public class GFG 
{ 
    // Initializer block starts.. 
    { 
     // This code is executed before every constructor. 
     System.out.println("Common part of constructors invoked !!"); 
    } 
    // Initializer block ends 

    public GFG() 
    { 
     System.out.println("Default Constructor invoked"); 
    } 

    public static void main(String arr[]) 
    { 
     GFG obj1; 
     obj1 = new GFG(); 

    } 
} 
+0

Ich habe diese Syntax auch noch nie zuvor in Java gesehen. Seien Sie klarer, was Sie fragen – ja08prat

+0

@ ja08prat Anscheinend ist es echt. Ich habe vorher statische Blöcke gesehen, aber nie nicht statische Initialisierungsblöcke. – Carcigenicate

+0

@Carcigenicate lernen etwas neues jeden Tag lol – ja08prat

Antwort

0

Es gibt zwei Arten von initializer Blöcke. Sie haben einen statischen Initialisierungsblock, der bei der Erstellung der Klasse ausgeführt wird. Die Syntax ist

static { 
    //stuff here 
} 

Der andere ist Instanz Initialisierungsbaustein, die ausgeführt wird, wenn Sie ein Objekt instanziiert. Seine Syntax ist

{ 
    //stuff here 
} 

Wenn die Initialisierung etwas Logik (beispielsweise die Fehlerbehandlung oder eine for-Schleife eine komplexe Anordnung zu füllen) erfordert, einfache Zuordnung ist unzureichend. Instanzvariablen können in Konstruktoren initialisiert werden, wo Fehlerbehandlung oder andere Logik verwendet werden kann. Um dieselbe Fähigkeit für Klassenvariablen bereitzustellen, enthält die Java-Programmiersprache statische Initialisierungsblöcke.

Dies ist Ihre Frage zu beantworten, wenn Sie sie verwenden sollten. Sie verwenden sie grundsätzlich, um eine Variable mit einer bestimmten Logik zu initialisieren. It's from the official Oracle documentation.

Verwandte Themen