Wat is een statisch blok?


Beste antwoord

statisch blok {}

  1. statische blokken worden gebruikt om de statische gegevens in de klas te initialiseren, het creëert statische bronnen.
  2. statische blokken worden slechts één keer uitgevoerd, zodra de klas in het geheugen wordt geladen.
  3. statische blokken worden uitgevoerd vóór de methode main () door de JavaClass-lader.
  4. Een klasse kan meerdere statische blokken hebben, die worden uitgevoerd in dezelfde volgorde waarin ze in het programma zijn geschreven .
  5. statisch {}, het wordt elke keer uitgevoerd wanneer de klasse wordt geladen.
  6. We kunnen geen statische blokken schrijven binnen een statische methode en niet-statische methode (statische blokken worden afzonderlijk geschreven )
  7. Alleen statische variabelen kunnen toegankelijk zijn binnen een statisch blok.
  8. We kunnen een statische methode aanroepen binnen een statisch blok.
  9. We kunnen geen methoden maken binnen statisch blok.
  10. Niet-statische variabelen en niet-statische methoden kunnen niet toegankelijk zijn binnen een statisch blok.
  11. Als u probeert toegang te krijgen tot niet-statische variabelen of methoden binnen een statisch blok, geeft dit een fout bij het compileren,

Kan geen statische verwijzing maken naar de niet-statische methode wow () van het type staticblock

Beschouw het onderstaande voorbeeld van een statisch blok.

  • Er is één statisch blok {} binnen een klasse.
  • Er zijn twee statische variabelen “ss, j” gedeclareerd, waarin ze toegankelijk zijn binnen de statische methode en in een statisch blok.
  • Een statische methode disp (), wordt geschreven en drukt de statische variabele erin af.
  • Deze methode wordt aangeroepen in een statisch blok {}
  • statische variabelen en statische methoden kunnen alleen toegankelijk binnen een statisch blok

public class staticblock {

static int ss=23; // initialize the static variable with value;

public static void disp() {

System.out.println("runnin static block before main method");

System.out.println("Value inside static method is "+ss);

}

static int j;

static // static block

{

j=8;

System.out.println("static block is invoked with the value"+j); // access the static variable inside static block

disp(); // calling the static method inside static block

}

public static void main(String[] args) {

}

}

controleer de uitvoer

statisch blok wordt aangeroepen met de waarde8

runnin statisch blok vóór hoofdmethode

Waarde in statische methode is 23

Antwoord

Statische blokken worden ook wel Statische initialisatieblokken kan een klasse een willekeurig aantal statische blokken hebben en ze kunnen overal in de java-klasse voorkomen.

Dit blok wordt uitgevoerd wanneer de klasse laag is toegevoegd in het geheugen. Het Java-runtimesysteem garandeert dat statische initialisatieblokken worden aangeroepen in de volgorde waarin ze in de broncode voorkomen.

Voorbeeld:

public class Solution{

static {

System.out.println("Static block - 1");

}

static {

System.out.println("Static block - 2");

}

public static void main(String[] args){

System.out.println("Main Method");

}

static {

System.out.println("Static block - 3");

}

}

Uitvoer:

Static block - 1

Static block - 2

Static block - 3

Main Method

Geef een reactie

Het e-mailadres wordt niet gepubliceerd. Vereiste velden zijn gemarkeerd met *