Sobes.tech
Intern

Kuo skiriasi laukas ir kintamasis Java?

sobes.tech AI

Atsakymas iš AI

Laukas yra kintamasis, deklaruotas klasės viduje, bet už bet kurios metodo ribų. Laukai apibrėžia objekto savybes.

Kintamasis yra bet kuri vieta atmintyje, skirta saugoti tam tikro tipo duomenis. Kintamieji gali būti:

  • Laukai (field): deklaruoti klasės lygyje.
  • Vietiniai kintamieji (local variable): deklaruoti metodo, konstruktoriaus ar bloko viduje.
  • Metodo parametrai (method parameter): deklaruoti metodo paraše.

Pagrindinis skirtumas: apimtis ir gyvavimo laikas. Laukai priklauso objektui (ne statiniams) arba klasei (statiškiems) ir egzistuoja viso jų gyvavimo ciklo metu. Vietiniai kintamieji ir metodo parametrai egzistuoja tik jų deklaravimo bloke ir sunaikinami po išėjimo iš jo.

Pavyzdys:

class Example {
    int instanceField; // pavyzdinis laukas

    static String staticField; // statinis laukas

    void myMethod(int parameter) { // metodo parametras
        int localVar = 10; // vietinis kintamasis
        this.instanceField = parameter;
        System.out.println(staticField + " " + localVar);
    }
}