Sobes.tech
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. 0 számokhoz, null objektumokhoz), 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.

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ő
    }
}