資源描述:
《面向?qū)ο蟮暮诵奶匦浴酚蓵T上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在教育資源-天天文庫。
1、第3章面向?qū)ο蟮暮诵奶匦?.1類和對象3.2類的封裝性3.3類的繼承性3.4類的多態(tài)性3.5抽象類和最終類3.6遞歸方法《Java2程序設(shè)計實(shí)用教程(第2版)》3.1類和對象3.1.1面向?qū)ο蠡靖拍?.1.2定義類3.1.3使用對象《Java2程序設(shè)計實(shí)用教程(第2版)》3.1.1面向?qū)ο蠡靖拍铑惻c對象類(class)是既包括數(shù)據(jù)又包括作用于數(shù)據(jù)的一組操作的封裝體。對象(object)是類的實(shí)例(instance)。類的封裝性、繼承性和多態(tài)性類的封裝性類的繼承性類的多態(tài)性《Java2程序設(shè)計實(shí)用教程(第2版
2、)》3.1.2定義類聲明類類聲明{成員變量的聲明;成員方法的聲明及實(shí)現(xiàn);}聲明成員變量[修飾符]class類<泛型>[extends父類][implements接口列表]publicclassDate1//類聲明{intyear,month,day;//聲明成員變量}《Java2程序設(shè)計實(shí)用教程(第2版)》3.1.2定義類聲明成員方法方法聲明語法[修飾符]返回值類型方法([參數(shù)列表])[throws異常類]{語句序列;[return[返回值]];}方法體中的局部變量方法體中用return語句返回值聲明main方
3、法publicstaticvoidmain(Stringargs[])【例3.1】聲明日期類?!禞ava2程序設(shè)計實(shí)用教程(第2版)》3.1.3使用對象聲明對象類對象對象實(shí)例化對象=new類的構(gòu)造方法([參數(shù)列表])Date1aday=newDate1();引用對象的成員變量和調(diào)用對象方法對象.成員變量對象.成員方法([參數(shù)列表])aday.year=2006;//引用對象的成員變量aday.setDate(2006,1,28);//調(diào)用對象的方法"abcd".equals("abc")《Java2程序設(shè)計實(shí)用
4、教程(第2版)》3.1.3使用對象對象的引用模型《Java2程序設(shè)計實(shí)用教程(第2版)》3.1.3使用對象方法調(diào)用時的參數(shù)傳遞原則基本數(shù)據(jù)類型參數(shù)傳遞值;引用數(shù)據(jù)類型參數(shù)傳遞引用。釋放對象Java語言具有資源回收機(jī)制,能夠跟蹤存儲單元的使用情況,自動收回不再被使用的資源。【例3.2】引用數(shù)據(jù)類型作為方法的參數(shù)和返回值?!禞ava2程序設(shè)計實(shí)用教程(第2版)》3.2類的封裝性3.2.1構(gòu)造方法與析構(gòu)方法3.2.2方法的重載3.2.3this引用和instanceof對象運(yùn)算符3.2.4類及其成員的訪問權(quán)限3.2.
5、5實(shí)例成員與類成員《Java2程序設(shè)計實(shí)用教程(第2版)》3.2.1構(gòu)造方法與析構(gòu)方法構(gòu)造方法聲明構(gòu)造方法publicclassDate2{publicDate2(inty,intm,intd)//聲明構(gòu)造方法{//構(gòu)造方法與類同名,構(gòu)造方法返回該類的一個實(shí)例year=y;month=m;day=d;}}Date2aday=newDate2(2006,1,28);關(guān)于構(gòu)造方法聲明和使用的幾點(diǎn)說明構(gòu)造方法與成員方法的不同之處《Java2程序設(shè)計實(shí)用教程(第2版)》2.析構(gòu)方法publicvoidfinalize(
6、)//析構(gòu)方法{語句序列;}《Java2程序設(shè)計實(shí)用教程(第2版)》3.2.2方法的重載重載的含義Math.abs()方法聲明有4種:intabs(inta)longabs(longa)floatabs(floata)doubleabs(doublea)成員方法重載構(gòu)造方法重載Date2aday1=newDate2();Date2aday2=newDate2(2006,2,28);《Java2程序設(shè)計實(shí)用教程(第2版)》圖3.2使用拷貝構(gòu)造方法復(fù)制對象Date2aday3=newDate2(aday2);//由
7、已知對象創(chuàng)建新對象《Java2程序設(shè)計實(shí)用教程(第2版)》3.2.3this引用和instanceof對象運(yùn)算符this引用指代對象本身this訪問本類的成員變量和成員方法this.成員變量this.成員方法([參數(shù)列表])調(diào)用本類重載的構(gòu)造方法this([參數(shù)列表])instanceof對象運(yùn)算符adayinstanceofDate2《Java2程序設(shè)計實(shí)用教程(第2版)》3.2.4類及其成員的訪問權(quán)限類中成員的訪問權(quán)限類的訪問權(quán)限:只有public和缺省兩種。publicclassDate1//公有的類cl
8、assDate1_ex//默認(rèn)的類權(quán)限修飾符同一類同一包不同包的子類所有類public(公有)????protected(保護(hù))???缺省??private(私有)?《Java2程序設(shè)計實(shí)用教程(第2版)》【例3.3】日期類的封裝。設(shè)計并重載構(gòu)造方法成員變量設(shè)計為私有的訪問權(quán)限,限制其他類對成員變量的訪問成員方法設(shè)計為公有的訪問權(quán)限,提供給其他類使用使用this引用增強(qiáng)程序的可維護(hù)性運(yùn)