package?javaoop;
public?class?Opacity1?{
???/*
????*?封裝性:類的信息隱藏在內部,不允許外部程序直接訪問,而是通過類提供的方法實現對隱藏信息的訪問和操作;
????*???好處:1:只能通過規(guī)定的方法訪問數據
????*?????????2:隱藏類的實力細節(jié),方便修改和實現
????*?????????
????*???步驟:1:修改屬性的可見性--private
????*?????????2:創(chuàng)建getter或者setter對于用于屬性的讀寫,也可以使用普通方法,但是不推薦;
????*?????????3:在getter或者setter中加入控制語句,合法性判斷;
????*?*/
?static?String?name;
?private?int?age;
?private?float?height;
?
?static{
??name="anikin";
?}
?{
??age?=?23;
??height?=1.75f;
?}
?//??訪問年齡值
?public?int?getAge(){
??return?age;
?}
?//?訪問身高值
?public?float?getHeight(){
??return?height;
?}
?
?//?設置年齡之
?public?void?setAge(int?newAge){
??if(newAge?>?22){
???age?=?newAge;
??}else{
???System.out.println("你沒有權限修改,因為你的年齡值小于22");
??}
?}
?
?//?設置身高
?
?public?void?setHeight(float?newHeight){
??height?=?newHeight;
?}
?
?//?主函數入口
?public?static?void?main(String[]?args){
??Opacity1?test1?=?new?Opacity1();?
??System.out.println("獲得公開name值"+test1.name);
??System.out.println("獲得私有age值"+test1.getAge());
??System.out.println("獲得私有height值"+test1.height);
??System.out.println("****************************************");
??
??test1.name=?"jack";
??System.out.println("修改公開name值"+test1.name);
??
??test1.setAge(12);
??System.out.println("修改私有age值"+test1.age);
??
??test1.setHeight(1.85f);
??System.out.println("修改私有height值"+test1.height);
?}
?
}
2015-12-15
贊一個!加油!
2016-01-02
最后的兩條輸出語句里面應該是test1.getAge
()和test1.getHeight()才對吧。
test1.setAge(12);
??System.out.println("修改私有age值"+test1.age);
??test1.setHeight(1.85f);
??System.out.println("修改私有height值"+test1.height);
?}
}
2016-01-01
第51、52行代碼,age和height都是getter語句,為什么第52行代碼里的height沒有寫上get和()呢?
2015-12-18
好棒!