實訓-接口與異常類_第1頁
實訓-接口與異常類_第2頁
實訓-接口與異常類_第3頁
實訓-接口與異常類_第4頁
實訓-接口與異常類_第5頁
免費預覽已結束,剩余3頁可下載查看

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

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. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論