Junior — Middle
Java'da sınıf alanları ile metodlar içindeki yerel değişkenler arasındaki fark nedir?
sobes.tech yapay zeka
AI'dan gelen yanıt
Java'da sınıf alanları (örneğin, örnek değişkenleri veya statik alanlar) ve metodlar içindeki yerel değişkenler, kapsam, yaşam süresi ve depolama yeri açısından farklılık gösterir:
-
Sınıf alanları:
- Sınıf içinde, ancak metodların dışında tanımlanır.
- Nesnede (statik değilse) veya sınıf alanında (statik ise) depolanır.
- Metod çağrıları arasında değerlerini korur.
- Sınıfın farklı metodlarından erişilebilir (erişim seviyesine bağlı olarak).
-
Yerel değişkenler:
- Bir metod içinde tanımlanır.
- Sadece metodun yürütülmesi sırasında var olurlar.
- Çağrı yığınına (stack) depolanır.
- Tanımlandıkları metodun dışında erişilemezler.
Örnek:
public class Example {
int field = 10; // sınıf alanı
public void method() {
int localVar = 5; // yerel değişken
System.out.println(field + localVar);
}
}
Burada, field nesnenin durumunu korurken, localVar sadece method metodunun yürütülmesi sırasında var olur.