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