資源描述:
《Java面向?qū)ο蟪绦蛟O(shè)計與系統(tǒng)開發(fā)第2章面向?qū)ο箝_發(fā)特點》由會員上傳分享,免費在線閱讀,更多相關(guān)內(nèi)容在教育資源-天天文庫。
1、面向?qū)ο蟪绦蛟O(shè)計與系統(tǒng)開發(fā)第2章面向?qū)ο箝_發(fā)特點2驅(qū)動任務(wù)一將上一章中的矩形類進行改造,為了對象中數(shù)據(jù)的安全性,其長、寬兩個屬性在本類創(chuàng)建的對象外不可訪問;同時要求當(dāng)矩形對象產(chǎn)生的時候就已經(jīng)有具體的長度和寬度,而不是在生成對象后再給長寬賦值。其保留了計算本身周長和面積的功能3目標(biāo)及知識點類中setter和getter方法2構(gòu)造方法this、static關(guān)鍵字3類及其成員的訪問控制修飾符4類的封裝114類的封裝性封裝(Encapsulation)就是把對象的屬性和行為結(jié)合成一個獨立的單位,并盡可能隱蔽對象的內(nèi)部細節(jié)。5Java中的包J
2、ava包(package)就是具有一定相關(guān)性的Java文件的集合創(chuàng)建包6在包中創(chuàng)建類package[包名1[.包名2[.包名3...]]];7使用包使用import語句:import包名1[…].類名或接口名;import包名1[.包名2[…]].*;直接使用包:java.util.ArrayListlist=newjava.util.ArrayList();8類的訪問權(quán)限一個類僅有兩個可能的訪問權(quán)限:默認的和公有(public)的。當(dāng)一個類被聲明為public時,該類可被任何包的代碼訪問;如果一個類為默認的訪問權(quán)限,那么僅能由同一
3、包內(nèi)的其他代碼所訪問。9類成員的訪問權(quán)限Java類的成員變量和成員方法的訪問權(quán)限修飾符無類修飾符類成員修飾符privatedefaultprotectedpublic同一類√√√√√同一個包√√√√不同包的子類√√不同包非子類√10舉例說明//源文件Rectangle.javapackagecom.bean;//本類屬于com包的bean子包下publicclassRectangle{//該類的權(quán)限為public//私有的成員變量privatedoublelength;privatedoublewidth;//求長方形的面積,注意該
4、方法權(quán)限doublearea(){returnlength*width;}/**打印輸出,公共的成員方法*/publicvoiddisplay(){//調(diào)用當(dāng)前對象的成員變量System.out.println("長:"+length+"t寬:"+width);//調(diào)用當(dāng)前對象的成員方法System.out.println("長方形的面積是:"+area());}}11舉例說明//源文件RectangleDemo.javapackagecom.demo;//該類屬于com.demo包下importcom.bean.*;//導(dǎo)入co
5、m.bean包中所有的類publicclassRectangleDemo{publicstaticvoidmain(Stringargs[]){//調(diào)用帶參構(gòu)造方法創(chuàng)建一個長方形對象rectRectanglerect=newRectangle();//rect.width=2;//private不允許類外部調(diào)用//rect.length=4;//private不允許類外部調(diào)用//System.out.println("長方形的面積是:"+rect.area());//默認權(quán)限不同包的類不能調(diào)用rect.display();//調(diào)用對
6、象rect的成員方法}}12getter、setter方法若需要在其他類中訪問私有成員,可以通過非私有的setter和getter方法來訪問。這樣的方法常命名為setXxx()和getXxx(),分別實現(xiàn)對封裝數(shù)據(jù)的設(shè)置和讀取操作publicvoidsetWidth(doublew){//設(shè)置長方形的寬width=w;}publicdoublegetWidth(){//獲取長方形的寬returnwidth;}publicvoidsetLength(doublel){//設(shè)置長方形的長length=l;}publicdoubleget
7、Length(){//獲取長方形的長returnlength;}13類的構(gòu)造方法構(gòu)造方法的一般形式如下:[修飾符]方法名([形式參數(shù)列表]){//方法體}1、構(gòu)造方法名與類名相同。2、構(gòu)造方法不返回任何值,也沒有返回類型。3、每一個類可以有零個或多個構(gòu)造方法,如果沒有寫構(gòu)造方法默認存在一個沒有參數(shù)的構(gòu)造方法。4、構(gòu)造方法在創(chuàng)建一個類的對象時由系統(tǒng)自動地調(diào)用執(zhí)行,一般不能顯式地直接調(diào)用。14classRectangle{doublelength;//長doublewidth;//寬//帶參構(gòu)造方法,用于初始化長方形的長和寬public
8、Rectangle(doublew,doublel){width=w;length=l;}//求長方形的面積doublearea(){returnlength*width;}}【例2-2】繼續(xù)改造長方體類,使對象創(chuàng)建時能自動初始化長方