




版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、實(shí)訓(xùn)接口與異常類、實(shí)訓(xùn)目標(biāo)本理解接口的意義、實(shí)際應(yīng)用的一般模式及與抽象類的區(qū)別,熟 練掌握接的定義以及接口的實(shí)現(xiàn)。本掌握異常處理結(jié)構(gòu)try、catch、finally ,理解異常出現(xiàn)時(shí)和 不出現(xiàn)時(shí)程序的執(zhí)行流程。上學(xué)會(huì)使用throw拋出異常,掌握何時(shí)選擇處理異常何時(shí)選擇拋 出異常。二、實(shí)訓(xùn)內(nèi)容1、請(qǐng)按模板要求,將【代碼】替換為Java程序代碼WeatherState.javainterface WeatherState 接口 public void showState();Weather.javaclass Weather WeatherState state ; public void sh
2、ow() state .showState(); public void setState(WeatherState s) state = s; CloudyLittleState.java class CloudyLittleState implements WeatherState public void showState() System. out .print( 少云 , 有時(shí)晴 . ); / 重寫(xiě) public void showState() CloudyDayState.javaclass CloudyDayState implements WeatherState publi
3、c void showState()System. out .println( 多云 ); / 重寫(xiě) public void showState() HeavyRainState.javaclass HeavyRainState implements WeatherStatepublic void showState()System. out .println( 傾盆大雨 ); / 重寫(xiě) public void showState() LightRainState.javaclass LightRainState implements WeatherState public void show
4、State()System. out .println( 小雨 ); / 重寫(xiě) public void showState()WeatherForecast.javaclass WeatherForecast / 主類public static void main(String args ) Weather weatherBeijing = new Weather();System.out.print(n 今天白天:);weatherBeijing.setState(new CloudyDayState();weatherBeijing.show();System.out.print(n 今天
5、夜間:);weatherBeijing.setState(newLightRainState();weatherBeijing.show();System.out.print( 轉(zhuǎn) : );weatherBeijing.setState(newHeavyRainState();weatherBeijing.show();System.out .print(n 明天白天: );weatherBeijing.setState(new LightRainState();weatherBeijing.show();System.out .print(n 明天夜間: );weatherBeijing.s
6、etState(new CloudyLittleState();weatherBeijing.show();2、請(qǐng)按模板要求,將【代碼】替換為Java程序代碼。MyDate.javapublic class MyDate publicintyear ;publicintmonth;publicintday;public MyDate( int y, int m, int d) throws InvalidDateException /聲明要產(chǎn)生的自定義異常類InvalidDateExceptionif ( y 0) throw new InvalidDateException。; elseye
7、ar = y;if ( m 12) throw new InvalidDateException。;/ 使用 throw 關(guān)鍵字拋出該異常對(duì)象 else month = m;if ( d 31) throw new InvalidDateException。;/ 使用 throw 關(guān)鍵字拋出該異常對(duì)象 else day = d;InvalidDateException.javapublic class InvalidDateException extends Exception / 聲明自定義異常類 InvalidDateException 繼承 ExceptionString message
8、;public InvalidDateException。 message =非法日期數(shù)據(jù)!;public void toShow() System. out .println( message +);TestDate.javapublicclass TestDate public static void main(String args ) try MyDate e=new MyDate(-12, 3, 83);/ 創(chuàng)建一個(gè) MyDate對(duì)象,設(shè)置構(gòu)造方法中參數(shù)不符合實(shí)際要求 catch (InvalidDateExceptione) System. out .println(不符合實(shí)際日期
9、要求!);; 當(dāng)參數(shù)不符合實(shí)際日期要求是,捕獲異常,請(qǐng)輸出異常信息3、編程題【實(shí)驗(yàn)-繼承與接口 1】(1)設(shè)計(jì)一個(gè)形狀類Shape,包含一個(gè)getArea()方法,該方法不包含實(shí)際 語(yǔ)句。(2)在Shaped基礎(chǔ)上設(shè)計(jì)圓形(Circle)、矩形(Rectangle )和梯形 (Ladder)三個(gè)子類,要求根據(jù)實(shí)際形狀重寫(xiě)getArea()方法,用于計(jì)算形狀的面 積。(3)創(chuàng)建一個(gè)應(yīng)用程序主類TestShape,在main ()方法中分別創(chuàng)建三個(gè)子 類對(duì)象,Circle c=new Circle(10);/構(gòu)造方法中給圓半徑變量賦值Rectangle r=new Rectangle(10,20)
10、;/構(gòu)造方法中給長(zhǎng)、寬變量賦值Ladder c=new Ladder(3,5,4);/構(gòu)造方法中給上底、下底和高變量賦值子類對(duì)象分別調(diào)用getArea()方法,輸出各自的面積信息。(1)新建包名:pk2,在pk2包下,將【實(shí)驗(yàn)-繼承與接口 11中形狀類Shap改為接口,修改圓形(Circle)、矩形(Rectangle)和梯形(Ladder)三個(gè)類分別實(shí)現(xiàn)接口,在不修改測(cè)試類TestShape的基礎(chǔ)上,保證執(zhí)行TestShape能夠得到與【實(shí)驗(yàn)-繼承與接口1】同樣的結(jié)果。Shape.javapackage PK2;public interface Shape public abstract d
11、ouble getArea();Circle.javapackage PK2;public class Circle implements Shapepublic Circle( float r )this . r =r ; / 設(shè)置半徑private float r ;public double getArea()return 3.14* r* r;Rectangle.javapackage PK2;public class Rectangle implements Shape private double w;private double h;public Rectangle( float
12、 w, float h) this . w=w;this . h=h;public double getArea() return w* h;Ladder.javapackage PK2;public class Ladder implements Shapeprivatefloatt ;/上底privatefloatb;/下底h)privatefloath;/高public Ladder( float t , float b, floatthis . t =t ;this . b=b;this . h=h;public double getArea()return ( t +b)* h)*1
13、/2;TestShape.javapackage PK2;public class TestShape public static void main(String口args )Circle c=new Circle(10); /構(gòu)造方法中給圓半徑變量賦 值System. out .println( area= + c.getArea();Rectangle r =new Rectangle(10,20); / 構(gòu)造方法中給 長(zhǎng)、寬變量賦值System. out .println( area= + r .getArea();Ladder l =new Ladder(3,5,4);/ 構(gòu)造方法中給上底、下底和高變量賦值System. out .println( area= + l .getArea();
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 電信網(wǎng)絡(luò)安全管理與應(yīng)急預(yù)案
- 2025年度事業(yè)單位臨時(shí)工勞動(dòng)派遣服務(wù)合同
- 2025年中國(guó)心臟起搏器行業(yè)市場(chǎng)調(diào)查研究及投資前景預(yù)測(cè)報(bào)告
- 2025年度農(nóng)家樂(lè)經(jīng)營(yíng)權(quán)及設(shè)施轉(zhuǎn)讓合同范本
- 體育賽事代理居間合同
- 2025年度天然氣汽車(chē)加氣站供用氣合同詳細(xì)版
- 二零二五年度股東合同解除及員工安置服務(wù)合同
- 2024年兒童體育培訓(xùn)行業(yè)發(fā)展?jié)摿Ψ治黾巴顿Y戰(zhàn)略研究報(bào)告
- 保健食品冷鏈配送合同
- 二零二五年度商業(yè)地產(chǎn)商用租房租賃及區(qū)域經(jīng)濟(jì)發(fā)展戰(zhàn)略合同
- 低血糖急救護(hù)理課件
- 學(xué)做小小按摩師(課件)全國(guó)通用三年級(jí)上冊(cè)綜合實(shí)踐活動(dòng)
- 陰道鏡檢查臨床醫(yī)學(xué)知識(shí)及操作方法講解培訓(xùn)PPT
- AI09人工智能-多智能體
- 建設(shè)工程前期工作咨詢費(fèi)收費(fèi)計(jì)算表
- 行為矯正技術(shù)-課件
- 八年級(jí)物理下冊(cè)《實(shí)驗(yàn)題》專項(xiàng)練習(xí)題及答案(人教版)
- 腦血管造影術(shù)后病人的護(hù)理查房
- 5.0Mt-a煉焦煤選煤廠初步設(shè)計(jì)-畢業(yè)論文
- 美術(shù)高考色彩備考教學(xué)策略
- 2023智聯(lián)招聘行測(cè)題庫(kù)
評(píng)論
0/150
提交評(píng)論