【Java基礎】setter與getter方法
阿新 • • 發佈:2019-02-15
1.set:在OO當中,變數最好都是private,防止被誤操作,那麼如何修改private的變數呢? 寫一個函式,專門針對private變數,每當想要修改這個變數的時候,就呼叫這個set函式。
2.get:既然這個變數是private,那麼外部無法獲取這個變數的值了,所以,再寫一個函式,專門用於返回這個變數的值,然後在類的外部,就可以隨意得到這個private的變數的值。
}
在其他類繼承這些私有資料的時候,更新時可以加一些判斷條件:
class Persion { private String name; private String idStr; public Persion(){} //注意構造方法不需要加返回型別 public Persion(String name, String idStr) { this.name = name; this.idStr = idStr; } //setter和getter方法 注意返回型別 public void setName(String name) { this.name = name; } public String getName() { return name; } public void setIdStr(String idStr) { idStr = idStr; } public String getIdStr() { return idStr; } //重寫equals方法,提供自定義的相等標準 public boolean equals(Object obj) { //只有當obj是persion物件 if(obj != null && obj instanceof Persion) { Persion persionObj = (Persion)obj; //並且當前物件的IdStr與obj物件的IdStr相等才可判斷兩者相等 if (this.getIdStr().equals(persionObj.getIdStr())) { return true; } } return false; } } public class OverideEqualsRight { public static void main(String[] args) { Persion p1 = new Persion("孫悟空", "123456"); Persion p2 = new Persion("孫行者", "123456"); Persion p3 = new Persion("孫悟飯", "1234"); //p1和p2的IdStr相等所以輸出true System.out.println("p1是否等於p2:" + p1.equals(p2)); //p1和p3的idStr不相等所以輸出false System.out.println("p1是否等於p3:" + p1.equals(p3)); } }
菜鳥一枚,繼續學習