資源描述:
《JAVA實驗6繼承與接口.doc》由會員上傳分享,免費在線閱讀,更多相關(guān)內(nèi)容在教育資源-天天文庫。
1、山西大學(xué)計算機與信息技術(shù)學(xué)院實驗報告姓名學(xué) 號專業(yè)班級課程名稱 Java實驗實驗日期成績指導(dǎo)教師批改日期實驗名稱 實驗6 繼承與接口[實驗?zāi)康腯1、掌握java繼承中父類及其子類的定義方法.2、掌握子類重寫父類同名方法的方法.3、掌握接口的用法.(1) 學(xué)習(xí)如何定義接口;(2)掌握接口的實現(xiàn)方式?。唬?)使用實現(xiàn)了接口的類;(4)理解接口與抽象類的區(qū)別。[實驗要求]1、復(fù)習(xí)理論教學(xué)中所學(xué)的內(nèi)容。2、認真進行實驗預(yù)習(xí),查閱參考書,書寫源程序,書寫實驗預(yù)習(xí)報告。3、認真總結(jié)實驗并書寫實驗報告。?。蹖嶒瀮?nèi)容]1、類的繼承性練習(xí)(1)程序源代碼如下。?。饀blicclassS
2、tudent{ protectedStringxm;//姓名,具有保護修飾符的成員變量 protectedintxh;//學(xué)號 ?。鰋idsetdata(String xm,intxh) //設(shè)置數(shù)據(jù)的方法 { this.xm=xm;?this。xh=xh;?。 ublicvoidprint()//輸出數(shù)據(jù)的方法 { System。out。println(xm+”,"+xh); } ?。?)編譯源并運行程序.貼圖如下(二)創(chuàng)建將被繼承的類(1) 程序功能:通過Student類產(chǎn)生子類CollegeStudent,其不僅具有父類的成員變量xm(姓名)、xh
3、(學(xué)號),還定義了新成員變量xy(學(xué)院)、bj(bj)。在程序中調(diào)用了父類的print 方法,同時可以看出子類也具有該方法。程序代碼:運行結(jié)果貼圖: ?。ㄈ┝私獬蓡T方法的覆蓋方式(1)編寫覆蓋了Object類toString方法的一個類,并用System.out.println()輸出該類的一個對象.程序代碼:運行結(jié)果貼圖:(2)試著以Point類為例,嘗試為Object類的clone()和equals()方法進行覆蓋,Point類包含私有成員x,y,構(gòu)造方法1(包含兩個參數(shù)a,b),構(gòu)造方法2(參數(shù)為Pointp),clone方法,equals方法,toString方法.
4、用TestPoint類進行測試。程序代碼:運行結(jié)果貼圖:(四)this、super和super()的使用(1)程序功能:程序功能:說明this、super和super()的用法.程序首先定義Point(點)類,然后創(chuàng)建點的子類Line(線)。最后通過TestLine類輸出線段的長度。程序中通過super(a,b)調(diào)用父類Point的構(gòu)造方法為父類的x 和y賦值。在子類Line的setLine方法中,因為參數(shù)名和成員變量名相同,為給成員變量賦值,使用this引用,告訴編譯器是為當(dāng)前類的成員變量賦值.在length和toString方法中使用父類成員變量時,使用super引用,告
5、訴編譯器使用的是父類的成員變量。程序代碼:運行結(jié)果貼圖:(五) 接口的實現(xiàn)與運用實驗任務(wù):本實驗的任務(wù)是設(shè)計和實現(xiàn)一個 Soundable 接口 ,該接口具有發(fā)聲功能,同時還能夠調(diào)節(jié)聲音大小。Soundable接口的這些功能將會由3種聲音設(shè)備來具體實現(xiàn) ,它們分別是收音機Radio 、隨身昕 Walkman 和手機Mobilephone 。最后還要設(shè)計一個應(yīng)用程序類來使用這些實現(xiàn)了Soundable 接口的聲音設(shè)備類。程序運行時,先詢問用戶想聽哪種設(shè)備 ,然后程序就會按照該設(shè)備的工作方式來發(fā)出聲音。實驗步驟?。?1) 仔細閱讀程序,并完成其中的代碼1~代碼3。// Inter
6、faceTest.javaimportjava.util。Scanner;interfaceSoundable?。 。饀blicvoidincreaseVolume();public voiddecreaseVolume();publicvoidstopSound( ); publicvoid?。餷aySound();}class?。遥醖io implementsSoundable{?。饀blic voidincreaseVolume(){ System.out.println("增大收音機音量");} publicvoiddecreaseVolume(){System.o
7、ut.println("減小收音機音量”);?。ublic voidstopSound(){System。out。println("關(guān)閉收音機”);}publicvoid playSound( ){? System。out.println("收音機播放廣播");?。齝lassWalkmanimplementsSoundable{ public voidincreaseVolume(){?System。out.println(”增大隨聲聽音量"); }?。饀blic voiddecreaseVol