Junior — Middle
Milline on erinevus klassi väljade ja meetodite sees olevate kohalike muutujate vahel Java-s?
sobes.tech AI
Vastus AI-lt
Klassi väljad (näiteks näidismuutujad või statilised väljad) ja kohalikud muutujad meetodite sees Java-s erinevad ulatuse, eluea ja salvestuskoha poolest:
-
Klassi väljad:
- Deklareerivad klassi sees, kuid väljaspool meetodeid.
- Salvestatakse objektis (kui need ei ole statilised) või klassi piirkonnas (kui need on statilised).
- Säilitavad väärtuse meetodite vahel.
- On erinevatest klassi meetoditest kättesaadavad (sõltuvalt juurdepääsutasemest).
-
Kohalikud muutujad:
- Deklareerivad meetodi sees.
- Eksisteerivad ainult meetodi täitmise ajal.
- Salvestatakse kutsumise virna.
- Ei ole kättesaadavad väljaspool meetodit, kus need on deklareeritud.
Näide:
public class Example {
int field = 10; // klassi väli
public void method() {
int localVar = 5; // kohalik muutuja
System.out.println(field + localVar);
}
}
Siin säilitab field objekti oleku, samas kui localVar eksisteerib ainult meetodi method täitmise ajal.