Junior — Middle
Yöntem çağrılırken değişkenlerin referansla iletimi nasıl yapılır?
sobes.tech yapay zeka
AI'dan gelen yanıt
Java'da metodlara parametre geçişi her zaman değerle yapılır, yani değişkenin değeri kopyalanır. Ancak, bir nesne geçirilirse, nesneye olan referans kopyalanır, nesne kendisi değil. Bu genellikle "referans ile geçiş" olarak adlandırılır, ancak gerçekte bir referansın kopyası geçirilir.
Bu, metod içinde parametreyle gösterilen nesnenin durumunun değiştirilebileceği, ancak referansın kendisinin başka bir nesneye işaret edecek şekilde değiştirilemeyeceği anlamına gelir.
Örnek:
class MyObject {
int value;
}
public class Example {
public static void modifyObject(MyObject obj) {
obj.value = 10; // nesnenin durumunu değiştiriyoruz
obj = new MyObject(); // yerel referans kopyasını değiştiriyoruz
obj.value = 20; // bu değişiklik metod dışındaki nesneyi etkilemez
}
public static void main(String[] args) {
MyObject myObj = new MyObject();
myObj.value = 5;
modifyObject(myObj);
System.out.println(myObj.value); // 10 yazdırır
}
}
Burada, metod içindeki nesne durumundaki değişikliğin korunduğu, ancak referansın yeniden atanmasının etkili olmadığı görülür.