Java特性隨便看看(封裝)
?
?
一、軟件開發(fā)
?
??? 1、軟件開發(fā)四個要求:
?
??? 正確性 ←→ 快速開發(fā)
??? 效率?? ←→ 通用性
?
?
二、面向?qū)ο蟪绦蛟O(shè)計特點
?
??? 1、封裝
?
??? 將程序分成具有有限交互的不同組件。封裝組件的一個例子是方法:其他的方法只通過它們傳遞給這個方法的參數(shù)以及這個方法返回的值與它交互。可以單獨測試每個組件,從而提高正確性;并且可以把重新組合進(jìn)新程序中,從而提高了通用性,并加快了開發(fā)速度。
?
??? 2、多態(tài)性
?
??? 指相同的單詞或符號在不同的環(huán)境中指代不同的事情的能力。例如在Java中處理數(shù)字時“+”表示加法,而在處理字符串時,又表示連接。多態(tài)性極大地提高了通用性,這反過來又提高了正確性,并加快了開發(fā)速度。
?
??? 3、繼承
?
??? 是指某個程序類似于另一個程序,從而只描述它們之間區(qū)別的能力。例如:鴨嘴獸與其他哺乳動物都非常相像,只不過它會下蛋。繼承使代碼更加容易重用,從而提高正確性、通用性,并加快了開發(fā)速度。
?
?
三、封裝
?
??? 1、指定變量時:
?
????? public表示為公共變量,private為實例變量。實例變量一般都聲明為私有,避免其他類中的方法對其訪問。
????? 實例變量必須要申明實例后才可以引用
?
??? 2、構(gòu)造函數(shù):
?
????? 用于設(shè)定實例創(chuàng)建時的默認(rèn)值,構(gòu)造函數(shù)是一個與類名完全相同的方法
?
??? 3、封裝的基礎(chǔ):
?
????? 訪問器(accessor)/讀取器(getter)
????? get Test(){
??????? return this.Test;
????? }
?
????? 修改器(mutator)/設(shè)置器(setter)
????? set Test(int Test){
??????? this.Test=Test;
????? }
?
????? 注:用this標(biāo)注是為了與傳入的參數(shù)Test區(qū)分出來,this引用的是field
?
??? 4、toString()方法
?
????? toString()方法是返回String的方法,而且方法名必須是toString
????? 這樣可以在創(chuàng)建實例后,直接使用 System.out.println(instance_name); 就可以打印,而不用明確指明調(diào)用該方法。
?
????? 主要是由于這個方法用到得很多,幾乎每個類中都有這個方法,所以可以省略
?
??? 5、輸入方法類java.util.Scanner
?
????? 用于鍵盤輸入的API,具體用法大致如下:
?
????? Scanner cin = new Scanner(System.in);??
????? int a = cin.nextInt(),b=cin.nextInt();
????? System.out.println(a+b);
?
?