Javada public,private,static,void falan nedir?

AyavefeTR

Zombi Katili
Mesajlar
172
En iyi cevaplar
0
Beğeniler
16
Puanları
110
Ruh hali
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
Mesajlar
1,876
En iyi cevaplar
0
Beğeniler
1,237
Puanları
90
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
Mesajlar
172
En iyi cevaplar
0
Beğeniler
16
Puanları
110
Ruh hali
Bu erişim imkanı sunduğumuz şey nedir diğer insanların yaptığım programa olan erişim mi
 

Epistomoloji

Lapis Toplayıcısı
Mesajlar
1,005
En iyi cevaplar
0
Beğeniler
704
Puanları
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
Mesajlar
1,876
En iyi cevaplar
0
Beğeniler
1,237
Puanları
90
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