Türkçeleştirme yapacak olursak geriye değer döndüren ve döndürmeyen merodlar diyebiliriz sanırım.

İki tür method vardır, return type'ı olan methodlar ve return type'ı olmayan methodlar. Return type'ı olan methodlar olayın sonunda size o methodu hangi type'dan tanımladıysanız o type'da bir değer vermek zorundadır yoksa syntax error alırsınız. Void method ise bir değer vermez ve genelde bir iş yapar. Örneğin ekrana bir şey basarken System. out. print ; dediğiniz zaman System class'ının out object'inin void return type'lı print methodunu invoke edersiniz ve bu method size bir değer dönmez, verdiğiniz parametreleri ekrana basma işini yapar. Return'un görevi methodun başından return'e kadar olan kodu execute ettikten sonra neyi return etmesini istediyseniz methodun dönütü olarak size onu methodun kendi return type'ında vermektir ve returnden methodun sonuna kadar olan kodu ihmal eder. Eğer return edeceği değer return type'dan farklıysa ve auto type cast edilemiyorsa ve siz de bunu manuel olarak yapmadıysanız yine syntax error alırsınız. Void methodda return type olmadığı için, size bir değer dönmeyeceği için sadece kalan kodu ihmal eder ve methodu bitirir. Final ise constant tanımlarken kullanılır ve final ile initialize ettiğiniz bir constant'ı variable gibi değiştiremezsiniz. This keyword'unu method içinde variable'a refer ederken kullanabilirsiniz. Kendisi methodun ait olduğu object'i kast eder. Mesela obj diye bir objectimiz ve "x" diye bir variable'ımız olsun. Bunu method içinden değiştirirken zaten method obj'e ait olduğu için hangi variable'ın hangi object'e ait olduğunu göstermemiz gerekmez ve direkt "this" kullanabiliriz. Sürprizbozan: Örnek: public int setX Burada method obj object'inin x variable'ını bir arttırır. Burada obj. x yerine direkt this. x diyebiliriz ve ikisi aynı anlama gelir. Ama method içinde olduğu için object belirtmeseniz de java hangi object olduğunu anlar yine de. Kullanıp kullanmamak size kalmış. Public ve private arasındaki fark ise şudur: Diyelim ki biri main methoda sahip olmak üzere aynı directory'de iki class'ımız olsun. Class içerisinde methodun dışında tanımlanan variable'lara "instance variable" denir. O class'tan tanımlanan her object o variable'ın o object'e ait türüne sahiptir. Sürprizbozan: Örnek: aynı class'a ait obj1, obj2, ve obj3 isimli 3 objemiz olsun. Bir de x instance variable'ımız olsun. Bunların objelerin hepsi obj1. x, obj2. x ve obj3. x şeklinde "x" variable'ına sahiptir ve bu üç variable birbirinden tamamen bağımsızdır. Eğer siz bu instance variable'ı initialize ederken public olarak initialize ederseniz içinde main method bulunan diğer class'tan bu variable'ı obj1. x = obj1. x + 1; şeklinde değiştirebilirsiniz yani variable'a class dışından erişebilirsiniz. Ama eğer private olarak initialize ederseniz bu variable'ı değiştirmek için variable ile aynı class'a ait bir "public" methoda ihtiyacınız olacaktır. Yani dışarıdaki bir class'tan variable'a erişemeyeceksiniz ama variable'a erişimi olan bir methoda class dışından erişiminiz olduğu için değiştirebilirsiniz. Sadece direkt olarak class dışından refer edemezsiniz. Mangaldaki köfteyi maşayla çeviriyormuşsunuz gibi düşünün. Direkt elinizle çevirmeye kalkarsanız yanarsınız. Yani public ve private modifier'ları sadece başına geldiği şeye class dışından erişilip erişilemeyeceğini belirler. Eğer methodu private yaparsanız class dışından methodu çağıramazsınız mesela.

Arkadaşlar aşağıdaki Java'da kullanılan bazı kodların anlamlarını yazdım doğru mu? Değilse doğrusunu söyleyebilir misiniz? Final class This Return Public Void Ayriyeten private int-string Son düzenleyen: Moderatör: 4 Temmuz 2020

Hocam geriye dönme dersek yanlış anlaşılabilir aslında ama evet yanlış bir tanım değil. Geriye dönme yerine değer veren/vermeyen dersek belki daha kolay anlaşılabilir.

Return doğru, diğerlerini henüz bilmiyorum.

this, class içindeki veriyi temsil eder. Java:Panoya kopyala int age; // age 1 public void setAge // age 2 return için öyle de diyebiliriz. public, private, protected ve default olarak ayrılır. private: class dışı erişilmesini engeller. protected: aile ici erişim yapar. Bkz: Polymorphism public:her türetilmiş class'tan erişilir yapar. default : Package içi public, package dışı private. private int-String, erişimi engellenmiş olduğu için, evet dediğin. doğru.