Hvad er en statisk blok?


Bedste svar

statisk blok {}

  1. statiske blokke bruges til at initialisere de statiske data i klassen, det skaber statiske ressourcer.
  2. statiske blokke udføres kun en gang, så snart klassen er indlæst i hukommelsen.
  3. statiske blokke udføres før main () metoden af ​​JavaClass loader.
  4. En klasse kan have flere statiske blokke, som udføres i samme rækkefølge, som de er skrevet i programmet .
  5. statisk {}, det udføres hver gang, når klassen indlæses.
  6. Vi kan ikke skrive statiske blokke inde i en statisk metode og en ikke-statisk metode (statiske blokke skrives separat )
  7. Kun statiske variabler kan være tilgængelige i en statisk blok.
  8. Vi kan kalde en statisk metode inde i en statisk blok.
  9. Vi kan ikke oprette nogen metoder indeni statisk blok.
  10. Ikke-statiske variabler og ikke-statiske metoder kan ikke være tilgængelige i en statisk blok.
  11. Hvis du forsøger at få adgang til ikke-statiske variabler eller metoder inde i en statisk blok, giver det en kompileringstidsfejl,

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

Overvej nedenstående eksempel på statisk blok.

  • Der er en statisk blok {} inde i en klasse.
  • Der er to statiske variabler “ss, j” erklæret, hvor de er tilgængelige inden for statisk metode og i statisk blok
  • En statisk metode disp (), skrives og udskriver den statiske variabel indeni den.
  • Denne metode kaldes inde i en statisk blok {}
  • statiske variabler og statiske metoder kan være kun tilgængelig inde i en statisk 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) {

}

}

kontroller output

statisk blok påberåbes med værdien8

runnin statisk blok før hovedmetode

Værdi inden for statisk metode er 23

Svar

Statiske blokke kaldes også som Statiske initialiseringsblokke , en klasse kan have et hvilket som helst antal statiske blokke, og de kan vises hvor som helst inden for java-klassen.

Denne blok bliver udført, når klassen er lo aded i hukommelsen. Java runtime-systemet garanterer, at statiske initialiseringsblokke kaldes i den rækkefølge, 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");

}

}

Output:

Static block - 1

Static block - 2

Static block - 3

Main Method

Skriv et svar

Din e-mailadresse vil ikke blive publiceret. Krævede felter er markeret med *