




下載本文檔
版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、實訓接口與異常類、實訓目標本理解接口的意義、實際應用的一般模式及與抽象類的區(qū)別,熟 練掌握接的定義以及接口的實現。本掌握異常處理結構try、catch、finally ,理解異常出現時和 不出現時程序的執(zhí)行流程。上學會使用throw拋出異常,掌握何時選擇處理異常何時選擇拋 出異常。二、實訓內容1、請按模板要求,將【代碼】替換為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( 少云 , 有時晴 . ); / 重寫 public void showState() CloudyDayState.javaclass CloudyDayState implements WeatherState publi
3、c void showState()System. out .println( 多云 ); / 重寫 public void showState() HeavyRainState.javaclass HeavyRainState implements WeatherStatepublic void showState()System. out .println( 傾盆大雨 ); / 重寫 public void showState() LightRainState.javaclass LightRainState implements WeatherState public void show
4、State()System. out .println( 小雨 ); / 重寫 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( 轉 : );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、請按模板要求,將【代碼】替換為Java程序代碼。MyDate.javapublic class MyDate publicintyear ;publicintmonth;publicintday;public MyDate( int y, int m, int d) throws InvalidDateException /聲明要產生的自定義異常類InvalidDateExceptionif ( y 0) throw new InvalidDateException。; elseye
7、ar = y;if ( m 12) throw new InvalidDateException。;/ 使用 throw 關鍵字拋出該異常對象 else month = m;if ( d 31) throw new InvalidDateException。;/ 使用 throw 關鍵字拋出該異常對象 else day = d;InvalidDateException.javapublic class InvalidDateException extends Exception / 聲明自定義異常類 InvalidDateException 繼承 ExceptionString message
8、;public InvalidDateException。 message =非法日期數據!;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)建一個 MyDate對象,設置構造方法中參數不符合實際要求 catch (InvalidDateExceptione) System. out .println(不符合實際日期
9、要求!);; 當參數不符合實際日期要求是,捕獲異常,請輸出異常信息3、編程題【實驗-繼承與接口 1】(1)設計一個形狀類Shape,包含一個getArea()方法,該方法不包含實際 語句。(2)在Shaped基礎上設計圓形(Circle)、矩形(Rectangle )和梯形 (Ladder)三個子類,要求根據實際形狀重寫getArea()方法,用于計算形狀的面 積。(3)創(chuàng)建一個應用程序主類TestShape,在main ()方法中分別創(chuàng)建三個子 類對象,Circle c=new Circle(10);/構造方法中給圓半徑變量賦值Rectangle r=new Rectangle(10,20)
10、;/構造方法中給長、寬變量賦值Ladder c=new Ladder(3,5,4);/構造方法中給上底、下底和高變量賦值子類對象分別調用getArea()方法,輸出各自的面積信息。(1)新建包名:pk2,在pk2包下,將【實驗-繼承與接口 11中形狀類Shap改為接口,修改圓形(Circle)、矩形(Rectangle)和梯形(Ladder)三個類分別實現接口,在不修改測試類TestShape的基礎上,保證執(zhí)行TestShape能夠得到與【實驗-繼承與接口1】同樣的結果。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 ; / 設置半徑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); /構造方法中給圓半徑變量賦 值System. out .println( area= + c.getArea();Rectangle r =new Rectangle(10,20); / 構造方法中給 長、寬變量賦值System. out .println( area= + r .getArea();Ladder l =new Ladder(3,5,4);/ 構造方法中給上底、下底和高變量賦值System. out .println( area= + l .getArea();
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 預備役介紹課件
- 健康飲食產業(yè)園項目運營管理方案(范文模板)
- 城市污水管網建設工程初步設計(參考模板)
- 2025年交流調頻調壓牽引裝置項目建議書
- 五年級上冊音樂教案(全集)
- 現場施工事故應急救援預案制度
- 2025年新型節(jié)能水泵、風機和壓縮機項目建議書
- 2025年防沉劑項目發(fā)展計劃
- 2025年高純工藝系統(tǒng)設備分條機項目建議書
- 針對2025年工業(yè)污染源全面達標排放計劃的實施方案的環(huán)境風險評估與管理001
- 2024-2030年中國工業(yè)防銹劑行業(yè)需求動態(tài)與應用前景預測報告
- 跨學科主題學習-美化校園 2024-2025學年七年級地理上冊新教材教學課件(人教版2024)
- TZJFS 015-2024 環(huán)境責任險風險評估技術規(guī)范
- DB511044-2022孤兒成年后社會融合能力評估社會工作服務指南
- 江蘇省徐州市2023-2024學年八年級下學期期末數學試卷(含答案解解)
- 石家莊市國企招聘考試真題題庫2024版
- 畫家簽約合同模板
- 人體常見病智慧樹知到期末考試答案章節(jié)答案2024年
- DZ∕T 0051-2017 地質巖心鉆機型式與規(guī)格系列(正式版)
- 企業(yè)5S標準化管理
- 社區(qū)工作者招聘考試歷年真題庫含備考資料
評論
0/150
提交評論