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

正文內(nèi)容

java2面向?qū)ο蟪绦蛟O(shè)計(jì)基礎(chǔ)(中)ppt(編輯修改稿)

2024-11-12 16:16 本頁面
 

【文章內(nèi)容簡介】 .} ? finally{...} ? (1) try ? 捕獲異常的第一步是用 try{…} 選定捕獲異常的范圍,由 try所限定的代碼塊中的語句在執(zhí)行過程中可能會(huì)生成異常對(duì)象并拋出。 ? (2) catch ? 每個(gè) try代碼塊可以伴隨一個(gè)或多個(gè) catch語句,用于處理 try代碼塊中所生成的異常事件。 catch語句只需要一個(gè)形式參數(shù)指明它所能夠捕獲的異常類型,這個(gè)類必須是 Throwable的子類,運(yùn)行時(shí)系統(tǒng)通過參數(shù)值把被拋出的異常對(duì)象傳遞給catch塊。 異常的處理 ? (3) finally ? 捕獲異常的最后一步是通過 finally語句為異常處理提供一個(gè)統(tǒng)一的出口,使得在控制流轉(zhuǎn)到程序的其他部分以前,能夠?qū)Τ绦虻臓顟B(tài)作統(tǒng)一的管理。不論在 try代碼塊中是否發(fā)生了異常事件, finally塊中的語句都會(huì)被執(zhí)行。 異常的處理 ? 2. 異常的拋出 ? 在異常發(fā)生時(shí),可以對(duì)它進(jìn)行捕獲,也可以將它繼續(xù)拋出。 ? 【 例 】 對(duì)異常進(jìn)行拋出舉例,程序如下。 ? class CatchDemo2 ? { ? Public static void main(String args[]) throws ArithmeticException, ArrayIndexOutOfBoundsException ? { ? int a=。 ? (\na=+a)。 ? int b=42/a。 ? int c[]={1}。 ? c[42]=99。 ? } ? } 創(chuàng)建自定義的異常 ? Java提供的一些異常有時(shí)候不能滿足編程的需求,比如規(guī)定用戶輸入數(shù)據(jù)的范圍在 20到 30之間,但是 Java并沒有這個(gè)方面的異常。這個(gè)時(shí)候就可以應(yīng)用自定義的異常來規(guī)范化客戶的數(shù)據(jù)輸入。 ? 在 Java中進(jìn)行自定義異常時(shí),自定義異常類必須是 Throwable的直接或間接子類。下面的例子是關(guān)于自定義異常的。它通過繼承 Exception類而繼承 Throwable,即間接繼承 Throwable。 創(chuàng)建自定義的異常 ? 【 例 】 自定義異常舉例,程序如下。 ? class OutBoundsException extends Exception ? { ? OutBoundsException(String mes) ? { ? //調(diào)用超類的構(gòu)造函數(shù) ? super(mes)。 ? } ? } ? class check ? { ? String ChecktheNum(int n) throws OutBoundsException ? { ? Integer N=new Integer(n)。 ? if(n30||n20) ? throw new OutBoundsException(the number is out of bound!!)。 ? else ? return the number+()+is in the bound!!。 ? } ? } ? class Test 創(chuàng)建自定義的異常 ? { ? public static void main(String []args) ? { ? try ? { ? check c=new check()。 ? (以下是合法的數(shù)據(jù)的報(bào)告! )。 ? ((25))。 ? (以下是非法的數(shù)據(jù)的報(bào)告! )。 ? ((5))。 ? } ? catch(OutBoundsException e) ? { ? (())。 ? } ? } ? } ? 運(yùn)行結(jié)果如圖 513所示。 創(chuàng)建自定義的異常 ? 圖 513 運(yùn)行結(jié)果 (例 ) 課 后 練 習(xí) ? 1. 填空題 ? (1) 聲明接口的保留字是 __________。 ? (2) 類的聲明“ public class Test extends Applet implements Runable{}”中,定義的類名是 __________,其父類是 __________;實(shí)現(xiàn)了 __________接口。這個(gè)類的源程序必須保存為 __________(寫出包括擴(kuò)展名的文件名 )。 ? 2. 選擇題 ? (1) 接口是 Java面向?qū)ο蟮膶?shí)現(xiàn)機(jī)制之一,以下說法正確的是 ( )。 ? A. Java支持多重繼承,一個(gè)類可以實(shí)現(xiàn)多個(gè)接口 ? B. Java只支持單重繼承,一個(gè)類可以實(shí)現(xiàn)多個(gè)接口 ? C. Java只支持單重繼承,一個(gè)類只可以實(shí)現(xiàn)一個(gè)接口 ? D. Java支持多重繼承,但一個(gè)類只可以實(shí)現(xiàn)一個(gè)接口 ? (2) 關(guān)于接口的定義和實(shí)現(xiàn),以下描述正確的是 ( )。 ? A. 接口定義中的方法都只有定義沒有實(shí)現(xiàn) ? B. 接口定義中的變量都必須寫明 final和 static ? C. 如果一個(gè)接口由多個(gè)類來實(shí)現(xiàn),則這些類在實(shí)現(xiàn)該接口中的方法時(shí)應(yīng)采用統(tǒng)一 的代碼 ? D. 如果一個(gè)類實(shí)現(xiàn)一個(gè)接口,則必須實(shí)現(xiàn)該接口中的所有方法,但方法未必聲明 為 public. 課 后 練 習(xí) ? 3. 判斷題 ? (1) 對(duì)每個(gè)異常,只能進(jìn)行捕獲。 ( ) ? (2) 接口中定義的方法可以是 private型的。 ( ) ? 4. 簡答題 ? (1) 按照 Java習(xí)慣,程序員應(yīng)該如何組織和命名包?如何布局源文件? ? (2) 設(shè)置 classpath 參數(shù)的作用是什么? ? 5. 操作題 ? (1) 根據(jù)如圖 514所示的 UML圖設(shè)計(jì)完成編碼 ,使輸出結(jié)果符合樣例: ? Fish swim in their tanks all day. ? Fluffy likes to play with string. ? Spiders catch flies in their webs to eat. ? This animal walks on 8 legs. ? This animal walks on 0 legs. ? Fish, of course, can39。t walk。 they swim. 課 后 練 習(xí) ? (2) 編寫 ,定義點(diǎn)的數(shù)據(jù)結(jié)構(gòu)為兩個(gè)雙精度數(shù) [x,y]并重寫 toString 方法,通過字符串連接運(yùn)算,使輸出點(diǎn)形式為: ? start point is start[x,y] ? end point is end[x,y] ? (3) 編寫 ,實(shí)例化 MyPoint 為 start 和end,輸出 start 和 end 的狀態(tài)。 ? (4) 編寫方法 distance()計(jì)算兩點(diǎn)間的距離。 課 后 練 習(xí) ? 圖 514 UML圖 Q amp。 A? Thanks! 第 6章 線程 (時(shí)間: 3次課, 6學(xué)時(shí)) 第 6章 線程 ? 教學(xué)提示: 計(jì)算機(jī)世界要想真正地反映現(xiàn)實(shí)世界,必須解決事情的同步問題,即解決程序?qū)崿F(xiàn)多線程的問題。 ? 因此可編寫有幾條執(zhí)行路徑的程序,使得程序能夠同時(shí)執(zhí)行多個(gè)任務(wù),借此實(shí)現(xiàn)多線程運(yùn)行。 Java語言的一大特點(diǎn)就是內(nèi)置對(duì)多線程的支持。 ? 本章主要介紹: Java中的線程作用機(jī)制 、 線程的實(shí)現(xiàn)方法 、 線程的控制和線程的同步與死鎖 。 第 6章 線程 ? 線程簡介 ? 線程的實(shí)現(xiàn)方法 ? 線程的控制 ? Java的多線程實(shí)例 ? 線程的同步與死鎖 ? ThreadLocal問題 ? 課后練習(xí) 線程簡介 ? 程序、進(jìn)程和線程 ? 線程的生命周期 ? 線程的優(yōu)先級(jí)及其調(diào)度 線程組 線程簡介 ? 對(duì)于許多編程人員來說,線程并不是那么的陌生。但是在 Java中,線程的作用機(jī)制又是如何工作的呢?本節(jié)將重點(diǎn)介紹 Java中的線程作用機(jī)制。 程序、進(jìn)程和線程 ? 程序是由若干條語句組成的語句序列,是一段靜態(tài)代碼。 ? 進(jìn)程是程序的一次動(dòng)態(tài)執(zhí)行過程。 ? 需要特別指出的是,進(jìn)程不僅包括程序代碼,還包括系統(tǒng)資源。即一個(gè)進(jìn)程既包括其所要執(zhí)行的指令,也包括執(zhí)行指令所需的任何系統(tǒng)資源,如 CPU、內(nèi)存空間等。不同進(jìn)程所占用的系統(tǒng)資源相對(duì)獨(dú)立。 程序、進(jìn)程和線程 ? 線程又是一個(gè)抽象的概念,它包含了一個(gè)計(jì)算機(jī)執(zhí)行傳統(tǒng)程序時(shí)所做的每一件事情。線程是一種在 CPU上調(diào)度的程序狀態(tài),它在某一瞬時(shí)看來只是計(jì)算過程的一個(gè)狀態(tài)。一個(gè)進(jìn)程中的所有線程共享該進(jìn)程的狀態(tài),它們存儲(chǔ)在相同的內(nèi)存空間中,共享程序的代碼和數(shù)據(jù)。所以當(dāng)其中一個(gè)線程改變了進(jìn)程的變量時(shí),那么其他線程下次訪的將是改變后的變量。 ? 多線程是指同一個(gè)應(yīng)用程序中有多個(gè)順序流同時(shí)執(zhí)行。在一個(gè)程序中可以同時(shí)運(yùn)行多個(gè)不同的線程來執(zhí)行不同的任務(wù),各個(gè)線程并行地完成各自的任務(wù)。瀏覽器就是一個(gè)典型的多線程例子。 線程的生命周期 ? 每個(gè) Java程序都有一個(gè)默認(rèn)的主線程。對(duì)于應(yīng)用程序,主線程是 main()方法執(zhí)行的路徑。圖 61說明線程的生命周期及其狀態(tài)轉(zhuǎn)換。 線程的生命周期 ? 圖 61 線程的狀態(tài)轉(zhuǎn)換 線程的生命周期 ? 從圖 61中可以看出:一個(gè)線程從創(chuàng)建到消亡的整個(gè)生命周期中,總是處于下面 5個(gè)狀態(tài)中的某個(gè)狀態(tài)。 ? 1. 新建狀態(tài) ? 通過 new命令創(chuàng)建一個(gè) Thread類或其子類的線程對(duì)象時(shí),該線程對(duì)象處于新建狀態(tài)。創(chuàng)建一個(gè)新的線程對(duì)象可以用下面的語句實(shí)現(xiàn): ? Thread thread=new Thread()。 ? 該語句是最簡單的創(chuàng)建線程的語句,但該語句創(chuàng)建的線程是一個(gè)空的線程對(duì)象,系統(tǒng)還未對(duì)這個(gè)線程分配任何資源。 線程的生命周期 ? 2. 就緒狀態(tài) ? 該狀態(tài)又可稱為可運(yùn)行狀態(tài)。處于新建狀態(tài)的線程可通過調(diào)用 start()方法啟動(dòng)該線程。 Start()方法產(chǎn)生了線程運(yùn)行需要的系統(tǒng)資源。啟動(dòng)后的線程將進(jìn)入線程就緒隊(duì)列排隊(duì)等待 CPU服務(wù),此時(shí)線程已經(jīng)具備了運(yùn)行的條件,一旦它獲得 CPU等資源時(shí)就可以脫離創(chuàng)建它的主線程而獨(dú)立運(yùn)行。 線程的生命周期 ? 3. 運(yùn)行狀態(tài) ? 當(dāng)處于就緒狀態(tài)的線程被調(diào)度并獲得 CPU資源時(shí),使進(jìn)入運(yùn)行狀態(tài)。每個(gè)線程對(duì)象都有一個(gè)重要的 run()方法, run()方法定義了該線程的操作和功能。當(dāng)線程對(duì)象被調(diào)度執(zhí)行時(shí),它將自動(dòng)調(diào)用其 run()方法并從第一條語句開始順次執(zhí)行。 線程的生命周期 ? 4. 阻塞狀態(tài) ? 又稱不可運(yùn)行狀態(tài)。當(dāng)發(fā)生下列情況之一時(shí),線程就進(jìn)入阻塞狀態(tài)。 ? (1) 等待輸入輸出操作完成。 ? (2) 線程調(diào)用 wait()方法等待一個(gè)條件變量。 ? (3) 調(diào)用了該線程的 sleep()休眠方法。 ? (4) 調(diào)用了 suspend()掛起方法。 線程的生命周期 ? 5. 消亡狀態(tài) ? 消亡狀態(tài)又稱死亡狀態(tài),當(dāng)調(diào)用 run()方法結(jié)束后,線程就進(jìn)入消亡狀態(tài),這是線程的正常消亡。另外線程還可能被提前強(qiáng)制性消亡。不管何種情況,處于消亡狀態(tài)的線程不具有繼續(xù)運(yùn)行的能力。 線程的優(yōu)先級(jí)及其調(diào)度 ? 線程被創(chuàng)建之后,每個(gè) Java線程的優(yōu)先級(jí)都在(常量 1)和 (常量 10)的范圍之內(nèi)。每個(gè)新建線程的默認(rèn)優(yōu)先級(jí)都為(常量 5)??梢杂梅椒?int getPriority()來獲得線程的優(yōu)先級(jí),同時(shí)也可以用方法 void setPriority(int p)在線程被創(chuàng)建后改變線程的優(yōu)先級(jí)。 ? 一個(gè)線程將始終保持運(yùn)行狀態(tài),直到出現(xiàn)下列情況:由于I/O(或其他一些原因 )而使該線程阻塞;調(diào)用 sleep、 wait、join 或 yield 方法也將阻塞該線程;更高優(yōu)先級(jí)的線程將搶占該線程;時(shí)間片的時(shí)間期滿而退出運(yùn)行狀態(tài)或線程執(zhí)行結(jié)束。 線程的優(yōu)先級(jí)及其調(diào)度 ? 【 例 】 綜合使用線程的方法來控制線程的工作舉例,程序如下。 ? //一個(gè)實(shí)現(xiàn) Runnable接口的 SimpleRunnable類 ? class SimpleRunnable implements Runnable { ? protected String message。 ? protected int iterations。 ? public SimpleRunn
點(diǎn)擊復(fù)制文檔內(nèi)容
教學(xué)課件相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖片鄂ICP備17016276號(hào)-1