Junior — Middle
Mi a különbség az osztály tulajdonságai és a módszerekben lévő helyi változók között?
sobes.tech MI
Válasz az MI-től
Az osztály tulajdonságai (mezői) és a metódusokon belüli helyi változók több kulcsfontosságú szempontból különböznek:
-
Hatókör:
- Az osztály tulajdonságai minden metódusban elérhetők ebben az osztályban (a hozzáférési módosítók függvényében).
- A helyi változók csak abban a blokkban vagy metódusban láthatók, ahol deklarálva vannak.
-
Élettartam:
- A tulajdonságok addig léteznek, amíg az objektum (vagy osztály, ha a mező statikus) létezik.
- A helyi változók a metódus hívásakor jönnek létre, és a kilépéskor törlődnek.
-
Inicializálás:
- Az osztály tulajdonságai alapértelmezett értékeket kapnak (pl.
0számokhoz,nullobjektumokhoz), ha nem inicializálják őket kifejezetten. - A helyi változóknak kifejezetten inicializálva kell lenniük használat előtt, különben a fordító hibát jelez.
- Az osztály tulajdonságai alapértelmezett értékeket kapnak (pl.
Példa:
public class Példa {
private int mező; // osztály tulajdonsága
public void metódus() {
int helyiVáltozó = 10; // helyi változó
System.out.println(mező); // elérhető
System.out.println(helyiVáltozó); // elérhető
}
}