Sobes.tech
Intern

Mi a különbség a mező és a változó között Java-ban?

sobes.tech MI

Válasz az MI-től

Mező egy változó, amely egy osztályon belül van deklarálva, de bármelyik metóduson kívül. A mezők meghatározzák az osztály objektumának tulajdonságait.

Egy változó bármilyen memóriahely, amelyet adott típusú adatok tárolására foglaltak le. A változók lehetnek:

  • Mezők (field): osztály szinten deklaráltak.
  • Helyi változók (local variable): egy metóduson, konstruktoron vagy blokkban deklaráltak.
  • Metódus paraméterek (method parameter): a metódus szignatúrájában deklaráltak.

A fő különbség: hatókör és élettartam. A mezők az objektumhoz (nem statikusak esetén) vagy az osztályhoz (statisztikusak esetén) tartoznak, és életciklusuk során léteznek. A helyi változók és a metódus paraméterek csak abban a blokkban léteznek, ahol deklarálták őket, és a kilépésük után megsemmisülnek.

Példa:

class Example {
    int instanceField; // példány mező

    static String staticField; // statikus mező

    void myMethod(int parameter) { // paraméter a metódus
        int localVar = 10; // helyi változó
        this.instanceField = parameter;
        System.out.println(staticField + " " + localVar);
    }
}