Hva er en statisk blokk?


Beste svaret

statisk blokk {}

  1. statiske blokker brukes til å initialisere de statiske dataene i klassen, det skaper statiske ressurser.
  2. statiske blokker utføres bare en gang, så snart klassen er lastet inn i minnet.
  3. statiske blokker utføres før hovedmetoden () av ​​JavaClass loader.
  4. En klasse kan ha flere statiske blokker, som vil kjøres i samme rekkefølge som de er skrevet inn i programmet .
  5. statisk {}, den utføres hver gang når klassen lastes.
  6. Vi kan ikke skrive statiske blokker i en statisk metode og ikke-statisk metode (statiske blokker skrives separat )
  7. Bare statiske variabler kan være tilgjengelige i en statisk blokk.
  8. Vi kan kalle en statisk metode inne i en statisk blokk.
  9. Vi kan ikke lage noen metoder inne statisk blokk.
  10. Ikke-statiske variabler og ikke-statiske metoder kan ikke være tilgjengelige i en statisk blokk.
  11. Hvis du prøver å få tilgang til ikke-statiske variabler eller metoder i en statisk blokk, gir det en kompileringstidsfeil,

Kan ikke referere statisk til den ikke-statiske metoden wow () fra typen staticblock

Tenk på eksemplet nedenfor for statisk blokk.

  • Det er en statisk blokk {} inne i en klasse.
  • Det er to statiske variabler «ss, j» erklært, der de er tilgjengelige i statisk metode og i statisk blokk
  • En statisk metode disp (), skrives og skriver ut den statiske variabelen i den.
  • Denne metoden blir kalt inne i en statisk blokk {}
  • statiske variabler og statiske metoder kan være bare tilgjengelig i en statisk blokk

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) {

}

}

sjekk utdata

statisk blokk påkalles med verdien 8

runnin statisk blokk før hovedmetoden

Verdi i statisk metode er 23

Svar

Statiske blokker kalles også som Statiske initialiseringsblokker , kan en klasse ha et hvilket som helst antall statiske blokker, og de kan vises hvor som helst i Java-klassen.

Denne blokken blir utført når klassen er lo aded i minnet. Java kjøretidssystem garanterer at statiske initialiseringsblokker kalles i den rekkefølgen de vises i kildekoden.

Eksempel:

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");

}

}

Utgang:

Static block - 1

Static block - 2

Static block - 3

Main Method

Legg igjen en kommentar

Din e-postadresse vil ikke bli publisert. Obligatoriske felt er merket med *