Kezdőoldal » Számítástechnika » Programozás » Java: Miért nem működik így a...

Java: Miért nem működik így a static block?

Figyelt kérdés

Eddig C++-t tanultam, most ismerkednék a JAVA nyelvvel. Egy statikus blokkot szeretnék létrehozni, tehát a main függvényben lévő kód egy része statikus lenne, a maradék pedig nem. A JAVA futtató azt mondja hogy illegal character #, és nem értem mi a hiba.


#define unstatic !static

package pkgstatic.block;


public class StaticBlock {


public void main(String[] args) {

static:

int a = 3;

int b = 5;


unstatic:

for(a<b; a++){

System.out.println(a);

}

}

static class block{

public static void main(String[] args){

System.out.println("This is a static block");

}

}

}


Köszönöm a segítséget!


2016. febr. 16. 22:53
 1/4 anonim ***** válasza:
Javaban nincsen #define. Nincs benne preprocessor.
2016. febr. 16. 23:00
Hasznos számodra ez a válasz?
 2/4 anonim ***** válasza:

Ez nem úgy működik, mint ahogy te elképzeled. A static kulcsszóval az osztályok tagjait (változókat, metódusokat stb.) jelölhetsz el. Például:

class Valami {

private static int Valtozo = 5;

public static void CsinaljValamit() {

Valami.Valtozo = 10;

}


Létrehozhatsz static tagot az osztályban így:

class Valami {

static {

System.out.println("Lefutott");

}

}

Ez arra jó, hogy az osztály betöltődésekor (pontosabban inicializálásakor - nem példányosításkor) végrehajtódik, mintha egy statikus konstruktor lenne.

2016. febr. 16. 23:04
Hasznos számodra ez a válasz?
 3/4 anonim ***** válasza:

Viszont ilyen van:


static {

...

}

2016. febr. 16. 23:23
Hasznos számodra ez a válasz?
 4/4 A kérdező kommentje:

Nagyon szépen köszönöm a válaszokat, sikerült.


package pkgstatic.block;


public class StaticBlock {


static int a;

int b;

static{

a=5;

}

{

b=3;

System.out.println("sout");

}


public static void main(String[] args) {

System.out.println(a);

StaticBlock sb = new StaticBlock();

System.out.println(sb.b);

}


}

2016. febr. 16. 23:34

Kapcsolódó kérdések:




Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu

A weboldalon megjelenő anyagok nem minősülnek szerkesztői tartalomnak, előzetes ellenőrzésen nem esnek át, az üzemeltető véleményét nem tükrözik.
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!