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