Mi az a statikus blokk?


Legjobb válasz

statikus blokk {}

  1. statikus blokkokat használnak az osztály statikus adatainak inicializálására, ez statikus erőforrásokat hoz létre.
  2. a statikus blokkokat csak egyszer hajtják végre, amint az osztály betöltődik a memóriába.
  3. a statikus blokkokat a main () metódus előtt hajtja végre a JavaClass betöltő.
  4. Egy osztálynak több Statikus blokkja lehet, amelyek ugyanabban a sorrendben fognak végrehajtani, ahogyan a programba be vannak írva. .
  5. statikus {}, minden alkalommal végrehajtásra kerül, amikor az osztály betöltődik.
  6. Nem írhatunk statikus blokkokat egy statikus és nem statikus módszer belsejébe (a statikus blokkokat külön írjuk. )
  7. Egy statikus blokkon belül csak statikus változók érhetők el.
  8. Egy statikus blokkon belül statikus metódust hívhatunk.
  9. Belsőleg nem hozhatunk létre metódust statikus blokk.
  10. A nem statikus változók és a nem statikus módszerek nem érhetők el a statikus blokk.
  11. Ha nem statikus változókhoz vagy metódusokhoz próbál hozzáférni egy statikus blokkon belül, az fordítási idő hibát eredményez,

Nem lehet statikus hivatkozás a nem statikus wow () metódusra a staticblock típusból

Tekintsük az alábbi statikus blokk példát.

  • Egy statikus blokk van {} egy osztályon belül.
  • Két “ss, j” statikus változó van deklarálva, amelyekben a statikus módszeren belül és a statikus blokkban érhetők el
  • Egy statikus metódus disp () meg van írva, és kinyomtatja a benne lévő statikus változót.
  • Ezt a módszert egy statikus blokkon belül hívják meg. {}
  • statikus változók és statikus módszerek csak egy statikus blokkon belül érhető el

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

}

}

ellenőrizze a kimenetet

a statikus blokkot a8-as értékkel hívják meg

a statikus blokk futtatása a fő módszer előtt

A statikus módszeren belüli érték 23

Válasz

A statikus blokkokat statikus inicializációs blokkokként , egy osztálynak tetszőleges számú statikus blokkja lehet, és bárhol megjelenhetnek a java osztályon belül.

Ez a blokk akkor kerül végrehajtásra, ha az osztály lo emlékezetében adózott. A Java futásidejű rendszer garantálja, hogy a statikus inicializáló blokkokat a forráskódban megjelenő sorrendben hívják meg.

Példa:

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

}

}

Kimenet:

Static block - 1

Static block - 2

Static block - 3

Main Method

Vélemény, hozzászólás?

Az email címet nem tesszük közzé. A kötelező mezőket * karakterrel jelöltük