Sobes.tech
Intern

Mis vahe on välja ja muutuja vahel Java-s?

sobes.tech AI

Vastus AI-lt

Väli on muutuja, mis on deklareeritud klassi sees, kuid väljaspool mis tahes meetodit. Väli määratleb klassi objekti omadused.

Muutuja on iga koht mälus, mis on reserveeritud konkreetse tüüpi andmete salvestamiseks. Muutujad võivad olla:

  • Väljad (field): deklareeritud klassitasandil.
  • Kohaliku taseme muutujad (local variable): deklareeritud meetodi, konstruktor või ploki sees.
  • Meetodi parameetrid (method parameter): deklareeritud meetodi signatuuris.

Peamine erinevus: ulatus ja eluea aeg. Väljad kuuluvad objektile (mitte-staatiliste puhul) või klassile (staatiliste puhul) ning eksisteerivad kogu nende elutsükli jooksul. Kohaliku taseme muutujad ja meetodi parameetrid eksisteerivad ainult nende deklareerimise plokis ning hävitatakse pärast selle ploki väljumist.

Näide:

class Example {
    int instanceField; // näidismägi

    static String staticField; // staatiline väli

    void myMethod(int parameter) { // meetodi parameeter
        int localVar = 10; // kohalik muutuja
        this.instanceField = parameter;
        System.out.println(staticField + " " + localVar);
    }
}