private的例子如下在宣告時加上private修飾字,就可以防止外部類別的存取屬性,此時會出現「The field 類別.屬性 is not visible」
//建立一個類別myfone,其中有個屬性名為telno,值為0901-234567,這個屬性宣告為private
public class myfone{
private String telno = "0901-234567";
}
//建立一個user類別,它會呼叫myfone類別並存取telno這個屬性,但因為之前telno已設為private,所以會出現「The field myfone.telno is not visible」,若未宣告private則可以在user中直接改變telno
public class user{
public static void main(String args[]){
myfone fone = new myfone();
fone.telno = "0901-111111";
}
}
那如果外部真的有存取這個屬性的需求要怎麼辦呢?這時就要靠getter及setter,例子如下
//將第一個程式修改
public class myfone{
private String telno = "0901-234567";
myfone(String str){
telno = str;
}
public String getfone(){
return telno;
}
}
//第二個程式也修改
public class user{
public static void main(String args[]){
myfone fone = new myfone("0901-111111"); //傳值給myfone,修改telno
System.out.println(fone.getfone()); //透過getfone()讀取telno
}
}