- Public
- Private
- Protected
- Friendly
package az.risk
public class A{
public void test(){
System.out.println("A sinifindaki test methoduna erisebildiniz...... :)");
}
}
package tr.net
import az.risk.A;
public class B{
public static void main(String args[]){
A a = new A();
a.test();
}
}
//Console Output
A sinifindaki test methoduna erisebildiniz...... :)
Private : Bu erisim belirteci sadece method ve degiskenelere uygulanir. Bu erisim belirteci tanimlanmis oldugu sinif icinde erisiliyor. Kendi yada baska paketlerde erisilemiyor.
Bir sinifa ait Construvtor private olabilir Eyer sinifa ait Construvtor private ise Referans olusturamayiz.Construvtor private yaptigimiz bir sinifa ulasmak icin static methodlar olusturark o siniftaki elemanlardan yaralana biliriz Bir ornek ole bunu aciklayalim
public class A{
private String name;
private int age;
private A(){
name ="Abdulkadir";
age=27;
}
public static void writeA(){
A a = new A();
System.out.println("NAME :"+a.name);
System.out.println("Age :"+a.age);
}}
package tr.net
import az.risk.A;
public class B{
public static void main(String args[]){
A.writeA();
}
}
//Console Output
NAME :AbdulkadirAge :27
Asagidaki sekilde bir kullanim yanlis olur
package tr.net
import az.risk.A;
public class B{
public static void main(String args[]){
A a = new A();
a.writeA();
}
}
Bir sinif hicbirzaman private erisim belirteci ile belirtilemez
Protected : Bu erisim belirteci kendi paketinde erisilebilr ama diyer paketlerde erisilemez.
Friendly : Varsayilan erisim belirteci demektir. Yani bir deyiskene , methoda, sinifa herhangi bir erisim belirteci yazilmamis ise o zaman defaul olarak friendly olur.
Degiskenelere , methodlara ve siniflara uygulanabilir
friendly erisim belirteci uyelere ayni paket icinden erisilebilirken farkli paketlerde erisilemez.
Herhangi bir uyeyi friendly yapmak icin bu erisim belirtecini yamaya gerek yoktur zaten yazilmasi durumda hata meydana geliyor.
int a; // DOGRU
friendly int a; //YANLIS
No comments:
Post a Comment