Vad är ett statiskt block?


Bästa svaret

statiskt block {}

  1. statiska block används för att initialisera de statiska data i klassen, det skapar statiska resurser.
  2. statiska block körs bara en gång så snart klassen laddas in i minnet.
  3. statiska block körs före main () -metoden av JavaClass loader.
  4. En klass kan ha flera statiska block, som kommer att köras i samma ordning som de har skrivits in i programmet .
  5. statisk {}, den körs varje gång, när klassen laddas.
  6. Vi kan inte skriva statiska block i en statisk metod och en icke-statisk metod (statiska block skrivs separat )
  7. Endast statiska variabler kan vara tillgängliga i ett statiskt block.
  8. Vi kan kalla en statisk metod inuti ett statiskt block.
  9. Vi kan inte skapa några metoder inuti statiskt block.
  10. Icke-statiska variabler och icke-statiska metoder kan inte vara tillgängliga i en statiskt block.
  11. Om du försöker komma åt icke-statiska variabler eller metoder i ett statiskt block ger det ett kompileringsfel,

Kan inte göra en statisk hänvisning till den icke-statiska metoden wow () från typen staticblock

Tänk på nedanstående exempel på statiskt block.

  • Det finns ett statiskt block {} inuti en klass.
  • Det finns två statiska variabler ”ss, j” deklareras, där de nås inom statisk metod och i statiskt block
  • En statisk metod disp (), skrivs och skriver ut den statiska variabeln inuti den.
  • Denna metod kallas inuti ett statiskt block {}
  • statiska variabler och statiska metoder kan endast tillgängligt i ett statiskt block

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

}

}

kontrollera utdata

statisk block anropas med värdet8

kör statiskt block före huvudmetod

Värde inuti statisk metod är 23

Svar

Statiska block kallas också som Statiska initialiseringsblock , en klass kan ha valfritt antal statiska block och de kan visas var som helst i Java-klassen.

Detta block körs när klassen är lo aded i minnet. Java runtime-systemet garanterar att statiska initialiseringsblock anropas i den ordning de visas i källkoden.

Exempel:

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

}

}

Utgång:

Static block - 1

Static block - 2

Static block - 3

Main Method

Lämna ett svar

Din e-postadress kommer inte publiceras. Obligatoriska fält är märkta *