




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
面向?qū)ο蟪绦蛟O(shè)計(jì)進(jìn)階(下)單擊此處編輯副標(biāo)題樣式版權(quán)聲明華清遠(yuǎn)見教育集團(tuán);未經(jīng)華清遠(yuǎn)見明確許可,不得為任何目的以任何形式復(fù)制或傳播此文檔的任何部分;本文檔包含的信息如有更改,恕不另行通知;華清遠(yuǎn)見教育集團(tuán)保留所有權(quán)利。目標(biāo)掌握方法重載(Overload)理解掌握this關(guān)鍵字理解對(duì)象的構(gòu)造和初始化過程掌握封裝類的用法熟悉Java的自動(dòng)裝箱和拆箱掌握==和equals()的用法及區(qū)別熟悉toString()方法熟悉可變參數(shù)的用法方法的重載同一個(gè)類中方法名相同時(shí),稱為方法的重載(overload)
例如:publicvoidprintln(inti);publicvoidprintln(charc);publicvoidprintln(Strings);重載的方法必須有不同的參數(shù)列表參數(shù)類型不同參數(shù)個(gè)數(shù)不同構(gòu)造器的重載除了方法外,類的構(gòu)造器也可以實(shí)現(xiàn)重載類的構(gòu)造器可以相互調(diào)用,調(diào)用方式是使用this關(guān)鍵字來實(shí)現(xiàn)thisthis關(guān)鍵字構(gòu)造器中指該構(gòu)造器所創(chuàng)建的新對(duì)象方法中指調(diào)用該方法的對(duì)象this關(guān)鍵字的用法在類本身的方法或構(gòu)造器中引用該類的實(shí)例變量和方法將當(dāng)前對(duì)象作為參數(shù)傳遞給其它方法或構(gòu)造器用來調(diào)用其他的重載的構(gòu)造器對(duì)象的構(gòu)造和初始化分析內(nèi)存分配,缺省的初始化進(jìn)行實(shí)例變量的初始化如下遞歸的進(jìn)行:1.設(shè)置實(shí)例變量的值為缺省的初始值2.調(diào)用對(duì)象的構(gòu)造器,綁定構(gòu)造器參數(shù)。3.如果構(gòu)造器中有this()調(diào)用,則根據(jù)this()調(diào)用的參數(shù)調(diào)用相應(yīng)的重載構(gòu)造器,然后,轉(zhuǎn)到步驟5;否則轉(zhuǎn)到步驟4。4.除java.lang.Object類外,調(diào)用父類的中的初始化塊初始化父類的屬性,然后調(diào)用父類構(gòu)造器,如果在構(gòu)造器中有super()調(diào)用,則根據(jù)super()中的參數(shù)調(diào)用父類中相應(yīng)的構(gòu)造器。5.使用初始化程序和初始化塊初始化成員。6.執(zhí)行構(gòu)造器方法體中其他語句。初始化塊它指的是類中的“游離塊”——不屬于變量聲明、不屬于方法、不屬于構(gòu)造器,但需要用{}單獨(dú)括起來不管使用哪個(gè)構(gòu)造器創(chuàng)建對(duì)象,它都會(huì)被首先運(yùn)行,然后才是構(gòu)造器的主體部分被執(zhí)行對(duì)象初始化示例父類Person,子類Teacher初始化的三種情形調(diào)用父類的默認(rèn)構(gòu)造器構(gòu)造器中使用了this()調(diào)用本類中重載的構(gòu)造器構(gòu)造器中使用了super()調(diào)用父類的構(gòu)造器public
classPerson{Stringname;Stringsex;intage; publicPerson(){ System.out.print("構(gòu)造器Person()被調(diào)用"); } publicPerson(StringtheName){System.out.print("構(gòu)造器Person(Stringname)被調(diào)用");name=theName;System.out.println("name="+name+",age="+"age"+"sex="+sex); }
publicPerson(StringtheName,inttheAge){System.out.print("構(gòu)造器Person(StringtheName,inttheAge)被調(diào)用");name=theName;age=theAge;System.out.println("name="+name+",age="+"age"+"sex="+sex);}{name="TonyBlair";age=50;sex="Female";System.out.println("\nPerson初始化塊執(zhí)行:name="+name+",age="+age+"sex="+sex);}}無參構(gòu)造器Person()一個(gè)參數(shù)的構(gòu)造器兩個(gè)參數(shù)的構(gòu)造器初始化塊public
classTeacherextendsPerson{Stringdepartment;intschoolAge;Teacher(){System.out.println("構(gòu)造器Teacher()被調(diào)用");}Teacher(Stringname){super(name);System.out.println("構(gòu)造器Teacher(Stringname)被調(diào)用");}Teacher(inttheSchoolAge){schoolAge=theSchoolAge;System.out.println("構(gòu)造器Teacher(inttheSchoolAge)被調(diào)用");}Teacher(StringtheDepartment,intschoolAge){this(schoolAge);department=theDepartment;System.out.println("構(gòu)造器Teacher(StringtheDepartment,intschoolAge)被調(diào)用");}{department="教務(wù)部";System.out.println("\nTeacher初始化塊執(zhí)行后:name="+name+",age="+age+",sex="+sex);}}調(diào)用父類構(gòu)造器調(diào)用本類重載的構(gòu)造器初始化塊public
classTestInit{public
static
voidmain(String[]args){Teachert1=newTeacher();System.out.println("--------------------------------");Teachert2=newTeacher("Tom");}}Person初始化塊執(zhí)行后:name=TonyBlair,age=50,sex=Female構(gòu)造器Person()被調(diào)用Teacher初始化塊執(zhí)行后:name=TonyBlair,age=50,sex=Female構(gòu)造器Teacher()被調(diào)用----------------------------------------------------------------Person初始化塊執(zhí)行后:name=TonyBlair,age=50,sex=Female構(gòu)造器Person(Stringname)被調(diào)用name=Tom,age=age,sex=FemaleTeacher初始化塊執(zhí)行后:name=Tom,age=50,sex=Female構(gòu)造器Teacher(Stringname)被調(diào)用封裝類對(duì)于簡(jiǎn)單類型數(shù)據(jù),為了和Java面向?qū)ο蟮乃枷胍恢?,Java對(duì)它們進(jìn)行了封裝,使它們都有相應(yīng)的封裝類簡(jiǎn)單數(shù)據(jù)類型封裝類booleanBooleanbyteByteshortShortintIntegerlongLongcharCharacterfloatFloatdoubleDouble封裝類示例publicclassWrapperClass{ publicstaticvoidmain(String[]args){ Integeri=newInteger(10); Integerj=newInteger(10); System.out.println(i==j); }}1010ij自動(dòng)裝箱/拆箱IntegeriObject=newInteger(100);IntegeriObject=100;非法!Jdk5.0以前合法,自動(dòng)裝箱Jdk5.0中inti=newInteger(100);合法,自動(dòng)拆箱Jdk5.0中將簡(jiǎn)單類型數(shù)據(jù)自動(dòng)轉(zhuǎn)換成對(duì)應(yīng)封裝類型將封裝類型自動(dòng)轉(zhuǎn)換成對(duì)應(yīng)簡(jiǎn)單類型自動(dòng)裝箱/拆箱需要注意的地方:boolean類型的值所有byte類型的值在-128~127之間的short類型的值在-128~127之間的int類型的值在\u0000~\u007F之間的char類型的值注意上面范圍內(nèi)的數(shù)據(jù)的自動(dòng)裝箱方式toString()方法在Object類中,定義了一個(gè)toString()方法,用于返回一個(gè)表示這個(gè)對(duì)象的字符串覆蓋該方法能用來提供某對(duì)象的自定義信息簡(jiǎn)單類型使用它們的封裝類,可轉(zhuǎn)換成String==和equals()==和equals()都是用于相等型判斷的操作符==操作符用來判斷兩個(gè)引用是否指的同一個(gè)對(duì)象,或者兩個(gè)簡(jiǎn)單類型的值是否相等Object類的equals()方法直接用==實(shí)現(xiàn)可按照自己的業(yè)務(wù)需要,覆蓋默認(rèn)的equals()方法,在equals()方法中定義對(duì)象相等的含義String類就重寫了equals()方法,用來判
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 古建門樓租賃合同
- 分項(xiàng)工程勞務(wù)分包合同
- 基坑噴錨支護(hù)勞務(wù)分包合同
- 建實(shí)務(wù)招標(biāo)與合同管理知識(shí)點(diǎn)
- 私人教練健身指導(dǎo)服務(wù)合同與免責(zé)條款
- 產(chǎn)品銷售服務(wù)合同
- 個(gè)人林地承包合同
- 北京平安普惠合同
- 石子黃沙購(gòu)銷合同
- 《第14課 循環(huán)結(jié)構(gòu)(二)》教學(xué)設(shè)計(jì)教學(xué)反思-2023-2024學(xué)年小學(xué)信息技術(shù)浙教版23五年級(jí)下冊(cè)
- 2024年青島職業(yè)技術(shù)學(xué)院高職單招語文歷年參考題庫含答案解析
- 《職業(yè)道德與法治》開學(xué)第一課(導(dǎo)言)(課件)-【中職專用】中職思想政治《職業(yè)道德與法治》高效課堂課件+教案(高教版2023·基礎(chǔ)模塊)
- (正式版)JBT 10437-2024 電線電纜用可交聯(lián)聚乙烯絕緣料
- 騙提個(gè)人住房公積金檢討書
- 監(jiān)控系統(tǒng)維保方案計(jì)劃及報(bào)價(jià)
- ABCD2評(píng)分量表(TIA早期卒中風(fēng)險(xiǎn)預(yù)測(cè)工具)
- E-learning平臺(tái)使用手冊(cè)(培訓(xùn)管理員版)
- 自動(dòng)化物料編碼規(guī)則
- 小學(xué)音樂教材分析
- 委托收款三方協(xié)議
- 黃岡市2021-2022高一上學(xué)期期末考試數(shù)學(xué)試題及答案
評(píng)論
0/150
提交評(píng)論