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

}

}

arrow
arrow
    文章標籤
    java private getter setter
    全站熱搜

    痞客興 發表在 痞客邦 留言(0) 人氣()