Javada public,private,static,void falan nedir?

AyavefeTR

Zombi Katili
En iyi cevaplar
0
Java için kitap aldım ama public,static,void için detaylı bilgi hala bulabilmiş değilim. Bukkit plugin yapımı olsun javada programlama olsun ne işe yarar bunlar?
 

Personinblack

YASAKLANDI
En iyi cevaplar
0
Public = Class, Package, Subclass ve world'ün tümüne erişim imkanı sunar //World = her şey
Protected = Class, Package ve Subclass'a erişim imkanı sunar
Private = Sadece Class'a erişim imkanı sunar
Bunlardan hiçbiri olmazsa hem class hemde pakete erişim imkanı sunarsın.

Eğer ki static kullanarak bir method oluşturursan bu method'a heryerden erişilebilir. Yalnız dikkatli ol static kullanarak projeni daha güvensiz bir hale getirebilirsin.

Void ise sonucunda hiçbir şeye dönmeyen methodlar için kullanılır.
 
Son düzenleme:

AyavefeTR

Zombi Katili
En iyi cevaplar
0
Bu erişim imkanı sunduğumuz şey nedir diğer insanların yaptığım programa olan erişim mi
 

Epistomoloji

Lapis Toplayıcısı
En iyi cevaplar
0
Bu erişim imkanı sunduğumuz şey nedir diğer insanların yaptığım programa olan erişim mi
Projenin içinden erişilebilme durumudur.

Örnek olarak
Kod:
package xxx;

import ...;

public x;

class xyz {
    private z;
// sadece burada zye erişebilirsin. fakat x burda hala geçerli.
}
// burada z ye erişim yoktur, x için erişim hala var.
void c(int x, int y){ // void dediğimiz şey ise değer döndürmeyen anlamına geliyor
int z = x+y;
System.out.println(z);
}

hatalarım varsa kusura bakmayın.
 

Personinblack

YASAKLANDI
En iyi cevaplar
0
Bu erişim imkanı sunduğumuz şey nedir diğer insanların yaptığım programa olan erişim mi
Yaptığın program değil projenin içinde bunları hangi methodunda kullanırsan onun için geçerli mesela:
Kod:
public void uuidevent(PlayerCommandPreprocessEvent e) {
        if (e.getMessage().contains("'")) {
            String komut = e.getMessage();
            Pattern pattern = Pattern.compile("'(.*?)'");
            Matcher matcher = pattern.matcher(komut);
            if (matcher.find())
            {
                e.setMessage(komut.replace(matcher.group(0), Bukkit.getOfflinePlayer(matcher.group(1)).getUniqueId().toString()));
            }
        }
    }

Burada public olması bu methodun diğer classlar, subclasslar ve package lar tarafından erişilebilindiği anlamına gelir. Void ise sonunda hiçbir şeye return yapılmadığı yani dönülmediği anlamına gelir.

Kod:
public static int esyasayisi(Inventory oyuncuenvanteri) {
        int sayi = 0;
        for (int i = 0; i < oyuncuenvanteri.getSize(); i++) {
            if (oyuncuenvanteri.getItem(i) == null) {
                sayi++;
            }
        }
        return sayi;
    }

Burada ise görebildiğin gibi void yerine integer kullanılmış yani bu methodun sonunda bir integer değerine dönmek zorundayız methodun sonunda görebileceğin gibi "return sayi;" kullanılmış ve bir integer'a dönülmüş. Ayrıca bu method static olduğu için diğer classlardan kolaylıkla erişilebilir.

Ufak bir ekleme static olmayan bir methoda static bir methoddan erişemezsin. Bunun için daha farklı yollar var.
 
Son düzenleme:
Üst