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

正文內(nèi)容

java面向?qū)ο蟪绦蛟O(shè)計(jì)面向?qū)ο笈c異常ppt-資料下載頁

2025-01-19 08:12本頁面
  

【正文】 (參數(shù)列表 )[throw 異常列表 ] } 定義接口要注意幾點(diǎn) ? 接口定義用關(guān)鍵字 interface,而不是用 class, interface前的修飾符要么為 public,要么為 缺省 。 ? 接口定義的數(shù)據(jù)成員全是 final static(靜態(tài)常量 )。即使沒有修飾符,其效果也等效,訪問級(jí)別要么為 public,要么為 缺省 。 ? 接口中沒有 構(gòu)造 方法;所有成員方法都是 抽象方法 (與抽象類有所不同)。即使沒有修飾符,其效果完全等效,訪問級(jí)別要么為 public,要么為 缺省 。注:方法前不能修飾為 final。 ? 接口具有 繼承性 ,可通過 extends關(guān)鍵字聲明接口的父接口。 接口的角色 接口扮演將 實(shí)現(xiàn)者 和 使用者 有機(jī) 聯(lián)系 到一起的角色。 【 例 】 接口實(shí)現(xiàn)要注意幾點(diǎn) ? 在類中,用 implements關(guān)鍵字來實(shí)現(xiàn)接口。一個(gè)類可以實(shí)現(xiàn) 多個(gè) 接口,在 implements后用 逗號(hào) 隔開多個(gè)接口的名字。一個(gè)接口也可被多個(gè) 類來實(shí)現(xiàn)。 ? 接口的實(shí)現(xiàn)者可以 繼承 接口中定義的常量,其效果等效于在這個(gè)實(shí)現(xiàn)類當(dāng)中定義了一個(gè)靜態(tài)常量。 ? 如果實(shí)現(xiàn)某接口的類不是 abstract的抽象類,則在類的定義部分必須實(shí)現(xiàn)接口的 所有 抽象方法,而且方法頭部分應(yīng)該與接口中的定義完全一致。 ? 如果實(shí)現(xiàn)接口的類是 abstract類,則它可以不實(shí)現(xiàn)該接口的所有方法。但對(duì)于抽象類的任何一個(gè)非抽象的子類而言,接口中的所有 抽象 方法都 必須 實(shí)現(xiàn)。這些方法體可以來自抽象的父類(被子類繼承),也可以來自子類自身的實(shí)現(xiàn),這主要體現(xiàn)了非抽象類中不能存在抽象方法的原則。 ? 接口的抽象方法的訪問限制符如果為缺省或 public時(shí),類在實(shí)現(xiàn)方法時(shí),必須顯式使用 public修飾符,否則將被警告為縮小了接口中定義的方法的訪問控制范圍。 接口在 Java事件處理中的應(yīng)用 接口在編程中的作用 【 例 】 【 例 】 抽象類與接口 抽象類與接口 抽象類 接口 共同點(diǎn) 二者都可具有抽象方法,都不能實(shí)例化,但都可以有自己的聲明, 并能引用子類或?qū)崿F(xiàn)類對(duì)象。 不同點(diǎn) 屬性變量 可以有變量 不能有,只能是靜態(tài)常量。 成員方法 可以有具體方法 (而且具體方法可以調(diào)用抽象方法 )。 如果有方法,則全部是抽象方法。 實(shí)現(xiàn)策略 必須有子類繼承 必須有實(shí)現(xiàn)類實(shí)現(xiàn) 擴(kuò)展性 弱 強(qiáng) 引 用 引用要點(diǎn) ? 引用如何形成:先聲明,后賦予對(duì)象,成為引用。 ? 抽象類聲明進(jìn)行引用有什么特點(diǎn)? 抽象類聲明可以引用所有具體子類對(duì)象,此概念可以推廣到所有具有父子關(guān)系的類,以及接口和實(shí)現(xiàn)類。 ? 引用可以替換嗎? 替換是有原則的:父類引用可以指向子類對(duì)象,子類聲明不能引用平行級(jí)別的其它類的對(duì)象 ,也不能引用父類對(duì)象。 ? 父類聲明和子類聲明引用同一個(gè)子類對(duì)象有什么區(qū)別? 父類聲明是從父類的角度去引用對(duì)象,子類聲明是從子類角度引用對(duì)象。父類引用子類對(duì)象時(shí),可以經(jīng)過顯式的轉(zhuǎn)化賦給子類的聲明,但子類的引用賦值給父類的聲明則不需要。 ? 接口聲明進(jìn)行引用有什么特點(diǎn)? 只能引用實(shí)現(xiàn)類對(duì)象的接口方法。 【 例 】 引用比較 ? instanceof的用法:判斷某個(gè)對(duì)象是否為某個(gè)類的可引用實(shí)例。 ? equals方法: equals方法是 object的方法,因此,所有類可以利用它比較本引用和某個(gè)引用是否指向同一對(duì)象。 ? “==” 如果兩邊是對(duì)象引用則比較的是它們的引用是否相同;如果兩邊是數(shù)值,則比較的是它們的值 (如果值類型不同,有可能發(fā)生類型轉(zhuǎn)化,例如 10== true);如果一邊是引用,一邊是值,則編譯錯(cuò)誤。 【 例 】 【 例 】 引用案例 類的其它相關(guān)內(nèi)容 類的 完整 定義形式 [修飾符 ] class 類名 [extends 父類 ] [implements 接口名 1,接口 2] { 類成員變量; 類方法; } 注: 其中修飾符為: public、缺省、 abstract、 final 不能被 private、 protected所修飾。 內(nèi)部類就是在某個(gè)類的 內(nèi)部 又定義了一個(gè)類。 內(nèi)部類 內(nèi)部類相關(guān)要點(diǎn) 【 例 】 【 例 】 、 【 例 】 所謂匿名內(nèi)部類就是在類中需要實(shí)例化這個(gè)類的地方,通常為方法內(nèi), 定義一個(gè)沒有名稱的類。其通常的實(shí)現(xiàn)格式為: 格式一: new 類 A() { 方法體 } 此時(shí)產(chǎn)生的對(duì)象是類 A的子類對(duì)象。 格式二: new 接口 A() { 方法體 } 此時(shí)產(chǎn)生的對(duì)象是接口 A的實(shí)現(xiàn)類。 匿名內(nèi)部類 【 例 】 — 【 例 】 使用原則和條件 匿名對(duì)象 匿名對(duì)象 就是在產(chǎn)生對(duì)象時(shí)沒有顯式地為這個(gè)對(duì)象建立引用。 例如 Person p1 = new Person()。()。 如果改為 new Person().shout()。就是匿名對(duì)象了。 匿名對(duì)象在兩種情況下經(jīng)常使用: ? 如果對(duì)一個(gè)對(duì)象只需要進(jìn)行一次方法調(diào)用。 ? 將匿名對(duì)象作為參數(shù)傳遞給一個(gè)函數(shù)調(diào)用。 類對(duì)象 ? 在 ——Class(注:同關(guān)鍵字 class區(qū)別的地方是首字母大寫 ),它也繼承 Object類。 ? 通過調(diào)用對(duì)象方法 getClass而得到 Class對(duì)象,進(jìn)而我們可以知道類的相關(guān)的一些特性,如:類的名稱、類的包、類的方法、類的父類等待。 第七章 異 常 主要內(nèi)容 ? 異常含義 ? 異常分類 ? 異常處理 ? 自定義異常與異常對(duì)象的主動(dòng)產(chǎn)生 異常含義 正常情況以外的事件,具有 不確定性 。遇到異常后程序不能正常向下執(zhí)行。 例如:用戶輸入錯(cuò)誤、除數(shù)為 0,需要的文件不存在或打不開、數(shù)組下標(biāo)越界、傳入?yún)?shù)為空或不符合指定范圍。 【 例 】 。 public class ExampleException { public static void main(String[] args) {int a,b,c。 a=67。 b=0。 c=a/b。 (a+/+b+=+c)。 } } 運(yùn)行結(jié)果: Exception in thread main : /by zero 除數(shù)為 0 異常分類 異常分類 異常處理 異常處理 異常處理 聲明拋出處理 程序捕獲處理 非嵌套 嵌 套 隱式聲明拋出 顯式聲明拋出 【 例 】 ——【 】 【 例 】 ——【 】 【 例 】 二者關(guān)系 trycatchfinally try{ statements } catch (ExceptionType1 ExceptionObject){ Exception Handling } catch(ExceptionType2 ExceptionObject) { Exception Handling }…… finally{ Finally Handling } 異常處理是由 try - catch組成的一個(gè)異常處理塊結(jié)構(gòu),最為完整的方式是trycatchfinally語句 ? try: try后面可跟一個(gè)或多個(gè) catch。當(dāng) try{}部分沒有異常發(fā)生時(shí),緊跟其后的 catch代碼并不被執(zhí)行。 ? catch:用于捕獲異常,參數(shù)是 ExceptionType類的對(duì)象, ExceptionType是 Throwable類的子類,它指出 catch語句中所處理的異常類型。 catch在捕獲異常時(shí),要將 Throwable類中的異常類型和 try塊拋出的異常相比較,若相同 ,則在 catch中進(jìn)行處理。若 不同 ,又不是 RuntimeException,則編譯不能通過。 ? 多 catch情況:異常類由上到下排布規(guī)則: 由子到父,由具體到抽象,或?yàn)椴⒘嘘P(guān)系 。執(zhí)行過程類似于 switch case(但一個(gè)執(zhí)行,其它不執(zhí)行)。若無異常發(fā)生,則都不執(zhí)行。有時(shí)不需要對(duì)異常進(jìn)行細(xì)致分類處理,則可統(tǒng)一為一個(gè) catch(Exception e){}。 ? finally:是這個(gè)組合語句的統(tǒng)一出口,一般用來進(jìn)行一些“善后”操 作,例如釋放資源、關(guān)閉文件等。它是可選的部分,但一旦選定, 必定執(zhí)行。 public class Foo { public static void main(String[] args) { try { return。 } finally { ( Finally )。 } } } 輸出結(jié)果為 Finally. ? 當(dāng)子類覆蓋父類的方法時(shí),“ throws 異常類”中的異常類應(yīng)該和父類中 的相應(yīng)類相同或?yàn)樽宇悾荒転楦割愔邢鄳?yīng)類的父類。 自定義異常與異常對(duì)象的主動(dòng)產(chǎn)生 異常對(duì)象大部分由系統(tǒng)產(chǎn)生;在編程時(shí)也可以 主動(dòng) 產(chǎn)生異常,相應(yīng)的語句為: throw new 異常類; new后面的異常類可以是 JDK中定義好的異常,也可以是自定義異常(繼承某個(gè)異常類的自制異常類)。 【 例 】 public class SelfGenerateException extends Exception { SelfGenerateException(String msg){ super(msg)。 //調(diào)用 Exception的構(gòu)造方法 } static void throwOne() throws SelfGenerateException { int a = 1。 if (a==1) //若 a為 1就認(rèn)為存在異常,改變執(zhí)行路徑,拋出異常 {throw new SelfGenerateException(a為 1)。} } public static void main(String args[]) { try {throwOne()。} catch(SelfGenerateException e) {()。} } } 運(yùn)行結(jié)果為: SelfGenerateException: a為 1 at (:11) at (:18)
點(diǎn)擊復(fù)制文檔內(nèi)容
教學(xué)課件相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1