版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
實驗二面向?qū)ο缶幊獭緦嶒災(zāi)康摹客ㄟ^編程和上機實驗理解Java語言是如何體現(xiàn)面向?qū)ο缶幊痰幕舅枷?,熟悉類的封裝方法以及如何創(chuàng)建類和對象,熟悉成員變量和成員方法的特性,熟悉類的繼承性和類的多態(tài)性的作用,熟悉包、接口的使用方法,掌握OPP方式進行程序設(shè)計的方法?!緦嶒炓蟆烤帉懗绦?qū)崿F(xiàn)類的定義和使用。編寫不同成員和不同成員方法修飾方法的程序編寫體現(xiàn)類的繼承性(成員變量、成員方法、成員變量隱藏)的程序和多態(tài)性(成員方法重載、構(gòu)造方法重載)的程序。編寫接口的定義和使用的程序編寫包的定義和使用的程序?!緦嶒瀮?nèi)容】1、類的定義和使用importjava.io.PrintStream;publicclassDate{privateintyear,month,day;publicDate(intyear,intmonth,intday){this.set(year,month,day);}publicvoidset(inty,intm,intd){this.year=y;this.month=((m>=1)&&(m<=12))?m:1;this.day=((d>=1)&&(d<=daysOfMonth()))?d:1;}publicstaticbooleanisLeapYear(intyear){returnyear%400==0||year%100!=0&&year%4==0;}publicStringtoString(){returnthis.day+"/"+this.month+"/"+this.year;}publicvoidtomorrow(){this.day++;if(day>this.daysOfMonth()){day=1;month++;if(month>12){month=1;year++;}}}publicstaticintdaysOfMonth(intyear,intmonth){switch(month){case1:case3:case5:case7:case8:case10:case12:return31;case4:case6:case9:case11:return30;case2:returnisLeapYear(year)?29:28;default:return0;}}publicintdaysOfMonth(){returndaysOfMonth(this.year,this.month);}publicstaticvoidmain(Stringargs[]){Datedate1=newDate(2014,11,13);System.out.println("今天是"+date1.toString());date1.tomorrow();System.out.println("明天是"+date1.toString());}}(2)publicclassTable{ Stringname; doubleweight; doublewidth; doublelength; doubleheight; publicTable(){ name="方桌1號"; weight=200; width=20; length=30; height=10; } publicdoubleArea(){ doublearea; area=width*height; returnarea; } publicvoidDisplay(){ System.out.println("桌子名稱:"+name+"\r\n重量:"+weight+"\r\n寬:"+width+"\r\n長:"+length+"\r\n高:"+height); } publicvoidChangWeight(intweight){ this.weight=weight; }}classtestTable{ publicstaticvoidmain(String[]args) { doublearea; Tabletable=newTable(); area=table.Area(); System.out.println("桌子的面積是:"+area); table.ChangWeight(300); table.Display(); }}2、修飾符的使用classStaticDemo{ staticintx; inty; publicstaticintgetX(){ returnx; } publicstaticvoidsetX(intnewX){ x=newX; } publicintgetY(){ returny; } publicvoidsetY(intnewY){ y=newY; }}publicclassTestDemo{ publicstaticvoidmain(String[]args){ System.out.println("靜態(tài)變量x:"+StaticDemo.getX()); //System,out.println("實例變量y:"+StaticDemo.getY());//非法 StaticDemoa=newStaticDemo(); StaticDemob=newStaticDemo(); a.setX(1); a.setY(2); b.setX(3); b.setY(4); System.out.println("靜態(tài)變量a.x"+a.getX()); System.out.println("實例變量a.y"+a.getY()); System.out.println("靜態(tài)變量b.x"+b.getX()); System.out.println("實例變量b.y"+b.getY()); }}3、繼承和多態(tài)的作用classRodent{ publicvoidShout(){ System.out.println("跑"); }}classMouseextendsRodent{ publicvoidShout(){ System.out.println("吱吱"); }}classGerbilextendsRodent{ publicvoidShout(){ System.out.println("沙沙"); }}classHamsterextendsRodent{ publicvoidShout(){ System.out.println("大大"); }}publicclassTestRodent{ publicstaticvoidmain(String[]args){ Rodent[]r=newRodent[3]; r[0]=newMouse(); r[1]=newGerbil(); r[2]=newHamster(); r[0].Shout(); r[1].Shout(); r[2].Shout(); }}4、接口的定義和使用publicclassInterfaceTest{ publicstaticvoidmain(String[]args) { doublex; circley=newcircle(2); x=y.calculate_area(); System.out.println("面積為"+x); }}interfacecal_area//聲明一個接口{ doublePI=3.14; doublecalculate_area();}classcircleimplementscal_area//實現(xiàn)接口的一個類{ doubler; circle(doubler){ this.r=r; } publicdoublecalculate_area(){//接口方法的實現(xiàn) returnPI*r*r; }}5、包的定義和使用Test_YMD.javapackageMypackage;importjava.util.*;publicclassTest_YMD{ privateintyear,month,day; publicstaticvoidmain(String[]args){ } publicTest_YMD(inty,intm,intd){ year=y; month=(((m>=1)&(m<=12))?m:1); day=(((d>=1)&(d<=31))?d:1); } publicTest_YMD(){ this(0,0,0); } publicstaticintthisYear(){ returnCalendar.getInstance().get(Calendar.YEAR); } publicintyear(){ returnyear; } publicStringtoString(){ returnyear+"-"+month+"-"+day; }}YMD_2.javaimportMypackage.Test_YMD;publicclassYMD_2{ privateStringname; privateTest_YMDbirth; publicstaticvoidmain(String[]args) { YMD_2a=newYMD_2("張弛",1990,1,11); a.output(); } publicYMD_2(Stringn1,Test_YMDd1){ name=n1; birth=d1; } publicYMD_2(Stringn1,inty,intm,in
溫馨提示
- 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 農(nóng)業(yè)職業(yè)經(jīng)理人考試營養(yǎng)與食品安全知識與試題答案
- 2025年考研西醫(yī)綜合真題答案及解析大
- 電大土木工程本科《工程地質(zhì)》在線形考(作業(yè)1至4)試題及答案
- 醫(yī)學(xué)人文考試試題及答案
- 2026字節(jié)跳動校招試題及答案
- 初級園林綠化試題及答案
- 2026黑龍江農(nóng)業(yè)職業(yè)技術(shù)學(xué)院公開招聘博士3人參考題庫附答案
- 中國火箭公司2026校園招聘考試備考題庫附答案
- 北京市公安局輔警崗位招聘300人備考題庫附答案
- 吉安市2025年度市直事業(yè)單位公開選調(diào)工作人員【70人】備考題庫必考題
- AED(自動體外除顫儀)的使用
- 中國礦業(yè)權(quán)評估準則(2011年)
- 空調(diào)水系統(tǒng)設(shè)備的安裝
- 基于流行音樂元素的動畫電影娛樂性研究
- 讀書分享讀書交流會 《鄉(xiāng)村教師》劉慈欣科幻小說讀書分享
- iso9001質(zhì)量管理體系-要求培訓(xùn)教材修訂
- 法人變更轉(zhuǎn)讓協(xié)議書范本
- ISTA-3A(中文版)運輸-試驗標準
- 市政排水管道工程監(jiān)理細則
- 垃圾分類 科普課件(共35張PPT)
- 小升初部編版2022-2023學(xué)年語文升學(xué)分班考真題專題沖刺模擬試卷(現(xiàn)代文閱讀)含解析
評論
0/150
提交評論