Junior — Middle
Java'da sinf maydonlari va metodlar ichidagi mahalliy o'zgaruvchilar o'rtasidagi farq nima?
sobes.tech AI
AIdan javob
Java'da sinif sahələri (nümunə dəyişənləri və ya statik sahələr) və metodlar daxilində yerli dəyişənlər, əhatə dairəsi, həyat müddəti və yaddaş yeri baxımından fərqlənir:
-
Sinif sahələri:
- Sinif daxilində, amma metodların xaricində elan edilir.
- Obektdə (statik deyilsə) və ya sinif sahəsində (statikdirsə) saxlanılır.
- Metod çağırışları arasında dəyərini saxlayır.
- Müxtəlif metodlardan (giriş səviyyəsindən asılı olaraq) əlçatan olur.
-
Yerli dəyişənlər:
- Metod daxilində elan edilir.
- Yalnız metodun icrası zamanı mövcuddur.
- Çağrı yığını (stack) üzərində saxlanılır.
- Elan olunduğu metod xaricində əlçatan deyil.
Nümunə:
public class Example {
int field = 10; // sinif sahəsi
public void method() {
int localVar = 5; // yerli dəyişən
System.out.println(field + localVar);
}
}
Burada, field obyektin vəziyyətini saxlayır, localVar isə yalnız method metodunun icrası zamanı mövcuddur.