實驗手冊06面向?qū)ο缶幊踢M階_第1頁
實驗手冊06面向?qū)ο缶幊踢M階_第2頁
實驗手冊06面向?qū)ο缶幊踢M階_第3頁
實驗手冊06面向?qū)ο缶幊踢M階_第4頁
實驗手冊06面向?qū)ο缶幊踢M階_第5頁
已閱讀5頁,還剩15頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

實驗1:類的繼JavapublicclassAnimal{privateintweight;publicintgetWeight(){returnweight;}publicvoidsetWeight(intw){}}存取這個屬性的兩個方法:getWeightsetWeight。publicclassCatextendspublicvoidmiaow(){ }}AnimalpublicclassWhiteCat{privatestaticCatwhiteCat;publicstaticvoidmain(Stringargs[]){whiteCat=newCat(); 量:}}最后我們來看如何實例化這個CatCat中體現(xiàn)它和父類Animal的關(guān)系。在這個WhiteCatCat的構(gòu)造器來實例化了一個CatwhiteCatCatsetWeight()weight,以及調(diào)用從父類繼承的getWeight()方法來獲取屬性weightCat類自身定義的方法miaow()。實驗2:方法的覆源文件 publicpublicStringname;intage;{ publicStringshowName(){returnname;}publicvoidsetName(StringtheName){name=theName;}publicpublicintgetAge(){returnage;}publicvoidage }publicStringget }publicvoid=}(String;}首先定義一個父類 ,它有三個屬性,分別由各自的存取方法來存取。在這里它的屬性的控制定義為Default,是因為在子類中我們需要這些屬性。 源文件 publicpublicclassTeacherprivateString{publicvoidsetDepartment(StringtheDept){department=theDept;}publicStringgetDepartment(){returndepartment;}publicStringshowName(){returnname+"老師";}publicstaticvoidmain(String[]args){Teachert=newTeacher(); }} 中的name屬性不能定義為private的。最后定義了一個main方法用于測實驗3:利用super調(diào)用父類構(gòu)造publicclassCatextendsAnimal{publicCat(){}publicCat(intweight){}publicvoidmiaow(){}}在Cat這個子類中,有一個構(gòu)造器Cat(),它里面有一個super(0)的語句,這句話的意思weight屬性的值0了。實驗4:利用super調(diào)用父類的方源文件:publicpublic{privateString//Stringname;intage; }()(String name=} (String (StringtheName)age }publicStringshowName(){returnname;}publicvoidsetName(StringtheName){name=theName;}publicintgetAge(){returnage;}publicvoidage }publicStringget }publicvoid (String )= }} 類中的屬性都是private的,通過各自的public的方法publicpublicclassTeacherprivateString{publicvoidsetDepartment(Stringdept){department=dept;}publicStringgetDepartment(){returndepartment;}publicString//returnname+"老師returnsuper.showName()+"老師}publicstaticvoidmain(String[args){Teachert=newTeacher();}}實驗5:構(gòu)造器的源文件 publicpublic{privateStringname;intage; (){name=}}(String name=} (Stringname=age } 被調(diào)用name=theName;age= = }}源文件 publicpublicclass{publicstaticvoidmain(String[]args) }}構(gòu)造 這說明,它的帶三個參數(shù)的方法被調(diào)用來創(chuàng)建對象了。也就是說,虛擬機會自實驗6:類的方法中調(diào)用同一個類中的其他方法、屬this源文件:publicclassStringpublicclassStringname;int{ publicStringshowName(){return;}publicvoidsetName(StringtheName){=theName;}//...}nameshowName()setName()中也有類似的用法。其實,如果你只是在類的某個方法或構(gòu)造器中實驗7:返回當前的對象publicpublicclassintaccountId=publicAccountcreateAccount()accountId++;return}{publicintgetAccountId(){returnaccountId;}publicstaticvoidmain(String[args){Accountaccount=newAccount();} 由于createAccount()方法返回了同一個對象,所以可以在這個對象上多次調(diào)用方法實驗8:在構(gòu)造器中使用this來調(diào)用類中的其他構(gòu)造源文件 publicpublicStringname;intage;{ (){ } (Stringname=theName; } (String System.out.println("(String(String,int)age; }publicStringgetName()returnreturn}publicintgetAge(){returnage;}publicStringget (){ }}來初始化新建對象的屬性。下面我們重點來看后面兩個構(gòu)造器,在帶一個參數(shù)的構(gòu)造器參數(shù)的構(gòu)造器中,接收theName()和()來創(chuàng)建對象,它也通過this()來此時,這條語句調(diào)用的是帶一個String類型參數(shù)的構(gòu)造器,在這里是(String下面我們來看一下使用帶兩個參數(shù)的構(gòu)造器(StringtheName,int)來創(chuàng)建對源文件 publicpublicclass{publicstaticvoidmain(String[]args)= }}這個程序的執(zhí)行結(jié)果如下:向控制臺打印“構(gòu)造器()被調(diào)用”→將屬性的值調(diào)用”→nametheName的值→向控制臺打印各個屬性值→打印“構(gòu)造器(String,int)被調(diào)用”→將屬性age的值初始化為參數(shù)的值→向控制臺 name=null,age=0,=Male構(gòu)造 ,age=0 name=,age=20, 實驗9:初始化塊的執(zhí)源文件 {Stringname;intage; (){},age="+age+" (String name=},age="+age+"= (String System.out.println("(String(String,int)age;System.out.println("name="+name+",age="+age+"}={{name=age==+",age="+age+" }}publicpublicclass{publicstaticvoidmain(String[]= }}初始化塊執(zhí)行后:name=,age=20,構(gòu)造 name=,age=20,實驗10:對象初始源文件 {Stringname;intage; (){="女System.out.println("name="+name+",age="+age+"}=(String (String)被調(diào)用name=},age="+age+"= (String name=theName;age= }{,age="+age+"=name=" age=40;男+",age="+age+"}}初始化塊執(zhí)行后:這里定義了一個父類,它里面定義了三個構(gòu)造器以及一個初始化塊。我們再來定義一個類的子類Teacher,如下:classTeacherStringint{public}publicTeacher(String(String}}publicTeacher(inttheSchoolAge){schoolAge=theSchoolAge;}publicTeacher(Stringdept,intdepartment=}{department教務(wù)部System.out.println("Teacher+",age="+age+" }}super()int數(shù)據(jù)類型參數(shù)的構(gòu)造器;this()int類型參數(shù)的構(gòu)造器。publicclasspublicstaticvoidmain(String[]args){Teachert1=newTeacher();Teachert2=newTeacher("Tom");Teachert3newTeacher("教研部}}編譯并運行TestInit初始化塊執(zhí)行后:name=,age=40 構(gòu)造 name=,age=40 Teacher初始化塊執(zhí)行后:name=,age=40,=女構(gòu)造器Teacher()被調(diào)用初始化塊執(zhí)行后:name=,age=40 (String)被調(diào)用name=Tom,age=40, Teacher初始化塊執(zhí)行后:name=Tom,age=40, 構(gòu)造器Teacher(String)被調(diào)用初始化塊執(zhí)行后:name=,age=40 構(gòu)造 name=,age=40 Teacher初始化塊執(zhí)行后:name=,age=40,=實驗11:封裝類的publicpublicclasspublicstaticvoidmain(String[]args)IntegerIntegeri=newInteger(10);Integerj=newInteger(10);}}JavaintInteger的對象,并且比較它們是否相等。ij各自指向的對象是不一樣的。所以,它們比較的結(jié)果是false。實驗12:覆蓋父類中的toString()方toString()toString()方法返回的字符串來表源文件 publicclass Stringname;intage; publicStringshowName(){returnname;}publicvoidsetName(StringtheName){name=theName;}publicintgetAge(){returnage;}publicvoidage }publicStringget (){ }publicvoid=(String;}}//覆蓋toString()方法publicStringtoString(){return ===}}publicpublicclasspublicstaticvoidmain(String[]= }}在這個類中,覆蓋了父類(Object類)toString()方法,讓它按照上面所說2=2,…]”格式的字符串作為表示類的字符串。實驗13:自動裝理解簡單類型數(shù)據(jù)的自動裝箱功能以及明白各種簡單數(shù)據(jù)在不同的范圍內(nèi)的不為publicpublicclasspublicstaticvoidmain(String[]args){Integert1=newInteger(127);Integert2=newInteger(127);System.out.println("t1==t2?"+(t1==t2));Integert3=127;Integert4=System.out.println("t3==t4?"+(t3==t4));System.out.println("t1==t4?"+(t1==t4));Integert5=128;Integert6=System.out.println("t5==t6?"+(t5==} t1==t2?falset3==t4?truet1==t4?falset5==t6?請思考一下為什么會得到這些值實驗14==equals(

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論