Java pointer(işaretçi) kavramını icermesede,etkili bir biçimde sınıf kavramını içerir.Her sınıfa kendi nesnesi ile eriserek,sınıf uyeleri veya ornek degiskenleri uzerinde bir takım degisiklikler yapılması mumkundur.Ornegin C++ ile aşagıdaki yazılan kod,
void fonk(string &mesaj) {
mesaj="bbbb";
}
main() {
string nes="merhaba";
fonk(nes);
cout << nes;
}
şeklinde yazılabilir.Tabi amacladıgınız yontem C++ dilinde de sınıf kavramı veya pointer kavramı ile gercekleştirmek mumkundur.Hatta arguman degeri ile fonksiyon donus tipinin aynı olması durumunda bir return degeri bile yeterli olabilir.Ancak soruya donecek olursak,java dili bizlere herzaman sınıfları(class) kullanmamızı teşvik eder.Ornegin yukarıdaki C++ dili ile yazılmış kodun java versiyonu nispeten aşagıdaki gibide yazılabilir.
public class fonksiyon {
static String fonksiyon(String deg) {
deg="bbbb";
return deg;
}
public static void main(String args[]) {
String ses=" ";
ses=fonksiyon(ses);
System.out.println(ses);
}
}
Bu sayede static bazlı fonksiyon metotu String tipinde aldıgı degeri dondurerek arguman degerini degistirmis olacaktır.Ancak bu program ayrı bir sınıfa eklenerek,olusturulan nesne yardımıylada metota ulasilabilir.
Başarılar