freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

java程序設(shè)計(jì)教程與實(shí)驗(yàn)數(shù)組、字符串、向異常處理、圖形用戶界面ppt(編輯修改稿)

2025-02-15 08:28 本頁(yè)面
 

【文章內(nèi)容簡(jiǎn)介】 ? 例如: ? (())。 ? 此語(yǔ)句可以將異常對(duì)象 myExp的異常信息描述打印輸出,在屏幕上顯示 “ 異常! ” 。 下一頁(yè) 上一頁(yè) 返回 開始 繼承性和多態(tài)性 47 自定義異常類 ? 在程序中,可以創(chuàng)建自定義的異常類。用戶自定義的異常類都要直接或間接地繼承Exception類。可按照下面的方法自定義一個(gè)異常類: ? (1) 創(chuàng)建一個(gè)繼承 Exception類或者其它已存在的異常類的子類。 ? (2) 在該類中創(chuàng)建一個(gè)默認(rèn)的無(wú)參數(shù)構(gòu)造方法,該構(gòu)造方法以適當(dāng)?shù)腻e(cuò)誤消息作為輸入,調(diào)用它的超類的構(gòu)造方法。 ? (3) 再增加一個(gè)帶字符串參數(shù)的構(gòu)造方法,該構(gòu)造方法以適當(dāng)?shù)腻e(cuò)誤消息作為輸入(還包括輸入的字符串)來調(diào)用其超類相應(yīng)的構(gòu)造方法。 下一頁(yè) 上一頁(yè) 返回 開始 繼承性和多態(tài)性 48 ? 例如,定義一個(gè)繼承于 Exception類的用戶自定義異常類,語(yǔ)句如下: class MyException extends Exception { MyException() { super(“數(shù)據(jù)錯(cuò)誤! ” )。 } MyException(String exp) { super(exp)。 } } 下一頁(yè) 上一頁(yè) 返回 開始 繼承性和多態(tài)性 49 異常的處理機(jī)制 ? 每當(dāng) Java程序運(yùn)行過程中發(fā)生一個(gè)可識(shí)別的運(yùn)行錯(cuò)誤時(shí),即該錯(cuò)誤有一個(gè)異常類與之相對(duì)應(yīng)時(shí),系統(tǒng)都會(huì)產(chǎn)生一個(gè)相應(yīng)的該異常類的對(duì)象,即產(chǎn)生一個(gè)異常。一旦一個(gè)異常對(duì)象產(chǎn)生了,系統(tǒng)中就一定有相應(yīng)的機(jī)制來處理它,確保不會(huì)產(chǎn)生死機(jī)、死循環(huán)或其他對(duì)操作系統(tǒng)的損害,從而保證了整個(gè)程序運(yùn)行的安全性。這就是 Java的異常處理機(jī)制。 下一頁(yè) 上一頁(yè) 返回 開始 繼承性和多態(tài)性 50 ? Java中處理異常有兩種方式:捕獲異常、聲明拋棄異常。 ? 捕獲異常 ,就地解決,并使程序繼續(xù)執(zhí)行。 ? 聲明拋出異常 也就是將異常向外轉(zhuǎn)移,即將異常拋出方法之外,由調(diào)用該方法的環(huán)境去處理。 下一頁(yè) 上一頁(yè) 返回 開始 繼承性和多態(tài)性 51 捕獲異常 ? 當(dāng) Java運(yùn)行時(shí)系統(tǒng)得到一個(gè)異常對(duì)象時(shí),它將會(huì)沿著方法的調(diào)用棧逐層回溯,尋找處理這一異常的代碼。找到能夠處理這種類型的異常的方法后,運(yùn)行時(shí)系統(tǒng)把當(dāng)前異常對(duì)象交給這個(gè)方法進(jìn)行處理,這一過程稱為捕獲 (catch)異常。這是積極的異常處理機(jī)制。如果 Java運(yùn)行時(shí)系統(tǒng)找不到可以捕獲異常的方法,則運(yùn)行時(shí)系統(tǒng)將終止,相應(yīng)的 Java程序也將退出。 下一頁(yè) 上一頁(yè) 返回 開始 繼承性和多態(tài)性 52 捕獲異常是通過 trycatchfinally語(yǔ)句實(shí)現(xiàn)的。 ? 處理異常的程序結(jié)構(gòu)如下: try{ //接受監(jiān)視的程序塊 ,在此區(qū)域內(nèi)發(fā)生的異常 ,由 catch中指定的程序處理 }catch(要處理的異常種類和標(biāo)識(shí)符 ){ //處理異常 }catch(要處理的異常種類和標(biāo)識(shí)符 ){ //處理異常 } … }finally{ //最終處理 } 下一頁(yè) 上一頁(yè) 返回 開始 繼承性和多態(tài)性 53 trycatchfinally語(yǔ)句 ? 1. try ? 捕獲異常的第一步是用 try{… }選定捕獲異常的范圍,所有可能拋出異常的語(yǔ)句都放入 try模塊中。 ? try模塊中的語(yǔ)句是程序正常流程要執(zhí)行的語(yǔ)句,但是在執(zhí)行過程中有可能出現(xiàn)異常。 ? 2. catch(必有 ) ? 每個(gè) try代碼塊可以伴隨一個(gè)或多個(gè) catch語(yǔ)句,用于處理try代碼塊中所生成的異常事件。 catch語(yǔ)句只需要一個(gè)形式參數(shù)指明它所能夠捕獲的異常類型 ,這個(gè)類必須是Throwable的子類 ,運(yùn)行時(shí)系統(tǒng)通過參數(shù)值把被拋棄的異常對(duì)象傳遞給 catch塊。 下一頁(yè) 上一頁(yè) 返回 開始 繼承性和多態(tài)性 54 trycatchfinally語(yǔ)句 ? 在 catch塊中是對(duì)異常對(duì)象進(jìn)行處理的代碼,與訪問其它對(duì)象一樣,可以訪問一個(gè)異常對(duì)象的變量或調(diào)用它的方法。getMessage( )是類 Throwable所提供的方法,用來得到有關(guān)異常事件的信息,類 Throwable還提供了方法printStackTrace( )用來跟蹤異常事件發(fā)生時(shí)執(zhí)行堆棧的內(nèi)容。 ? 例如: 下一頁(yè) 上一頁(yè) 返回 開始 繼承性和多態(tài)性 55 trycatchfinally語(yǔ)句 ? try{ ...... }catch( FileNotFoundException e ){ ( message: +() )。 ( )。 }catch( IOException e ){ (() )。 } 下一頁(yè) 上一頁(yè) 返回 開始 繼承性和多態(tài)性 56 trycatchfinally語(yǔ)句 ? catch 語(yǔ)句的順序: 捕獲異常的順序和 catch語(yǔ)句的順序有關(guān),當(dāng)捕獲到一個(gè)異常時(shí),剩下的catch語(yǔ)句就不再進(jìn)行匹配。因此,在安排 catch語(yǔ)句的順序時(shí),首先應(yīng)該捕獲最特殊的異常,然后再逐漸一般化。也就是一般先安排子類,再安排父類。 下一頁(yè) 上一頁(yè) 返回 開始 繼承性和多態(tài)性 57 trycatchfinally語(yǔ)句 ? ( 可選) 捕獲異常的最后一步是通過 finally語(yǔ)句為異常處理提供一個(gè)統(tǒng)一的出口,使得在控制流轉(zhuǎn)到程序的其它部分以前,能夠?qū)Τ绦虻臓顟B(tài)作統(tǒng)一的管理。不論在 try代碼塊中是否發(fā)生了異常事件,finally塊中的語(yǔ)句都會(huì)被執(zhí)行。 Case:例 下一頁(yè) 上一頁(yè) 返回 開始 繼承性和多態(tài)性 58 聲明拋出異常 ? 1. 拋出異常 ? 在 Java程序的執(zhí)行過程中,如果出現(xiàn)了異常事件,就會(huì)生成一個(gè)異常對(duì)象。生成的異常對(duì)象將傳遞給 Java運(yùn)行時(shí)系統(tǒng),這一異常的產(chǎn)生和提交過程稱為拋棄 (throw)異常。 ? 2. 聲明拋棄異常 ? 如果一個(gè)方法并不知道如何處理所出現(xiàn)的異常,則可在方法聲明時(shí),聲明拋棄( throws)異常。這是一種消極的異常處理機(jī)制。 下一頁(yè) 上一頁(yè) 返回 開始 繼承性和多態(tài)性 59 1. 拋出異常 ? 拋出異常就是產(chǎn)生異常對(duì)象的過程,首先要生成異常對(duì)象,異常或者由虛擬機(jī)生成,或者由某些類的實(shí)例生成,也可以在程序中生成。在方法中,拋出異常對(duì)象是通過 throw語(yǔ)句實(shí)現(xiàn)的。 例如: IOException e=new IOException()。 throw e 。 可以拋出的異常必須是 Throwable或其子類的實(shí)例。下面的語(yǔ)句在編譯時(shí)將會(huì)產(chǎn)生語(yǔ)法錯(cuò)誤: throw new String(want to throw)。 下一頁(yè) 上一頁(yè) 返回 開始 繼承性和多態(tài)性 60 ? 在同一個(gè)方法中拋出異常和處理異常。 ? Case:例 下一頁(yè) 上一頁(yè) 返回 開始 繼承性和多態(tài)性 61 2. 聲明拋出異常 ? 如果在一個(gè)方法中生成了一個(gè)異常,但是這一方法并不確切地知道該如何對(duì)這一異常事件進(jìn)行處理,這時(shí),一個(gè)方法就應(yīng)該聲明拋棄異常,使得異常對(duì)象可以從調(diào)用棧向后傳播,直到有合適的方法捕獲它為止。 ? 也就是說拋出異常的方法和處理異常的方法不是同一個(gè)方法時(shí),則需聲明拋出異常。 ? 用方法聲明中的 throws子句指明。例如: public int read () throws IOException{ ...... } 下一頁(yè) 上一頁(yè) 返回 開始 繼承性和多態(tài)性 62 ? throws子句中同時(shí)可以指明多個(gè)異常,之間由逗號(hào)隔開。例如: public static void main(String args[]) throws IOException, IndexOutOfBoundsException {… } ? Case: 例 下一頁(yè) 上一頁(yè) 返回 開始 繼承性和多態(tài)性 63 對(duì)異常處理的進(jìn)一步討論: ? ( 1)對(duì) Error類或其子類的對(duì)象,程序中不必進(jìn)行處理。 ? ( 2)對(duì) RuntimeException類或其子類,程序中可以不必進(jìn)行處理。 ? ( 3)除此之外的異常,程序員都應(yīng)該在程序中進(jìn)行處理。 ? 要么用 trycatchfinally進(jìn)行捕獲處理 ? 要么明確表示不處理從而聲明拋出異常 ? 要么先捕獲處理然后再次拋出。 ? ( 4) Java的異常處理機(jī)制( trycatchfinally語(yǔ)句、 throws 子句、 throw 語(yǔ)句)帶來 Java程序代碼結(jié)構(gòu)上的改變。 ? ( 5)不能濫用異常機(jī)制。簡(jiǎn)單的出錯(cuò)判斷建議用 if語(yǔ)句。 ? ( 6)不要過分細(xì)分異常。 下一頁(yè) 上一頁(yè) 返回 開始 繼承性和多態(tài)性 64 作業(yè) ? 編寫復(fù)數(shù)類程序, 1選做 )增加定義復(fù)數(shù)類的復(fù)數(shù)除方法,用 throws聲明拋出DividedByZeroException( 自定義異常 ) 。 在合適的位置處理這些異常。 ? 2選做 )主類中使用 args命令行參數(shù)傳入兩個(gè)復(fù)數(shù)操作數(shù),并編程自定義異常LessParamException與 NoOperandException。 第 7講 圖形用戶界面 下一頁(yè) 上一頁(yè) 返回 開始 繼承性和多態(tài)性 66 主要內(nèi)容 ? Java GUI概述 ? Swing組件 ? Swing容器 (重點(diǎn) :JFrame類 ) ? 圖形與繪圖 ? 事件處理與 Swing常用組件 ? Java事件處理機(jī)制 ? 常用組件 ? 布局管理器 下一頁(yè) 上一頁(yè) 返回 開始 繼承性和多態(tài)性 67 Java GUI概述 ? AWT與 Swing ? GUI程序的設(shè)計(jì),其中的類及相互關(guān)系可以用下圖來描述: 事件類 字體類 Graphics Component 顏色類 布局管理類 Checkbox Container Button … Window Panel Applet Dialog Frame List 圖象類 菜單類 Scrollpane 下一頁(yè) 上一頁(yè) 返回 開始 繼承性和多態(tài)性 68 ? Swing組件 ? 在 ,定義了兩種類型的組件:頂層容器( JFrame, JApplet, JDialog和JWindow) 和輕量級(jí)組件( JComponent)。 ? Swing組件都是 AWT的 Container類的直接子類和間接子類。 ? Swing組件以 J開頭,除了有與 AWT類似的按鈕( JButton)、 標(biāo)簽( JLabel)、 復(fù)選框( JCheckBox)、 菜單( JMenu) 等基本組件外,還增加了一個(gè)豐富的高層組件集合,如表格( JTable)、 樹( JTree)。 下一頁(yè) 上一頁(yè) 返回 開始 繼承性和多態(tài)性 69 AWT與 Swing頂層窗口類之間的關(guān)系 j a v a x . s w i n gJ F r a m ej a v a . l a n gO b j e c tj a v a . a w tC o m p o n e n tC o n t a i n e rF r a m eD i a l o gw i n d o wP a n e lj a v a . a p p l e tA p p l e tJ D i a l o gJ C o m p o n e n tJ A p p l e t下一頁(yè) 上一頁(yè) 返回 開始 繼承性和多態(tài)性 70 Swing組件 j a v a x . s w i n gA b s t r a c t B u t t o nj a v a . l a n gO b j e c t j a v a . a w tC o m p o n e n tC o n t a i n e rJ L i s tJ C o m p o n e n tJ O p t i o n P a n eJ P o p u p M e n uJ T e x t C o m p o n e n tJ M e n u B a rJ S c r o l l P a n eJ L a b e lJ P a n e lJ T o g g l e B u t t o nJ B u t t o nJ M e n u I t e mJ M e n uJ R a d i o B u t t o nJ C h e c k B o xJ T e x t A r e aJ T e x t F i e l dJ P a s s w o r d F i e l d下一頁(yè) 上一頁(yè)
點(diǎn)擊復(fù)制文檔內(nèi)容
教學(xué)課件相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖片鄂ICP備17016276號(hào)-1