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

正文內(nèi)容

java面向?qū)ο蟪绦蛟O(shè)計面向?qū)ο笈c異常ppt-閱讀頁

2025-02-03 08:12本頁面
  

【正文】 必定要派生子類,若派生的子類是具體類,則具 體子類中必須實現(xiàn)抽象類中定義的 所有抽象方法 (覆蓋); 若子類還是抽象類,如果父類中已有同名 abstract方法,則子 類中就不能再有 同名 的抽象方法了。 ? abstract不能與 final并列修飾同一個類(產(chǎn)生邏輯矛盾); abstract 不能與 private ,static(因為 static修飾的方法必然被直 接調(diào)用) ,final或 native并列修飾同一個方法; abstract 類中不能 有 private成員 ——這些因為抽象類必然要有子類。 如:矩形、三角形、圓形 類的屬性和方法如圖 : Protected int x , y 。Public doub le getPerim eter ()Public doub le getA rea ()矩形Protected int x , y 。Public doub le getPerim eter ()Public doub le getA rea ()圓Protected int x , y , z 。pr ot ect ed do ubl e m 。 import .*。 protected double m。 =y。 =m。 abstract public double getPerimeter()。 } public double getPerimeter() { return(2** m)。 } } class Rectangle extends Shapes { public double getArea() { return(k*m)。} public Rectangle(int x,int y,int width,int height) { super(x,y,width,height)。} public double getPerimeter() {return(k+x+y)。 //m充當(dāng)了周長的一半 m= (baseA+ baseB+ baseC)/。 Triangle tri=new Triangle(5,5,8)。 public void paint(Graphics g) { //繪制矩形,輸出矩形的面積和周長 (,(int))。 (Rect Perimeter:+(),50,55)。 (Triangle Perimeter:+(),50,95)。 (Circle Area:+(),50,115)。 } } 運行結(jié)果: 可引用具體子類對象 public class RunShape extends Applet { Rectangle rect=new Rectangle(5,15,25,25)。 Circle cir=new Circle(5,90,25)。 private void drawArea(Graphics g,Shapes s,int a,int b) { (().getName()+” Area”+(),a,b)。 } public void paint(Graphics g) { (,(int))。 drawPerimeter(g,rect,50,55)。 drawPerimeter(g,tri,50,95)。 drawArea (g, cir,50,115)。 }} p u b l i c d o u b l e x , y 。 p u b l i c d o u b l e g e t P e r i m e t e r ( ) p u b l i c d o u b l e g e t A r e a ( )R e c t a n g l e p u b lic d o u b le x , y 。 p u b lic d o u b le g etP erim ete r () p u b lic d o u b le g etA rea ()Triangle p u b lic d o u b le x , y 。 p u b lic d o u b le get Perim eter () p u b lic d o u b le get Area ()CircleRecttriCi rS抽象類設(shè)計注意 ? 在設(shè)計抽象類的具體子類時,追求它們在實現(xiàn)抽象方法方面所表 現(xiàn)的不同性。作為抽象類的 具體 實現(xiàn)者,每個子類必 須給出其周長和面積的具體計算方式。因為抽象類中的任何改動都將關(guān) 系到整個類體系的改變,所以抽象類中的信息應(yīng)盡可能和研究對 象的本質(zhì)相關(guān)。 public abstract void close(); public abstract void alarm()。 接口( interface) 接口的兩種含義: ? 可以被引用調(diào)用的方法( public方法或同包中的 protected方法或默認(rèn)方法); ? 另一種是同“類”概念地位相當(dāng)?shù)膶S懈拍?interface, interface是方法 說明 的集合。 ? 接口定義的數(shù)據(jù)成員全是 final static(靜態(tài)常量 )。 ? 接口中沒有 構(gòu)造 方法;所有成員方法都是 抽象方法 (與抽象類有所不同)。注:方法前不能修飾為 final。 接口的角色 接口扮演將 實現(xiàn)者 和 使用者 有機 聯(lián)系 到一起的角色。一個類可以實現(xiàn) 多個 接口,在 implements后用 逗號 隔開多個接口的名字。 ? 接口的實現(xiàn)者可以 繼承 接口中定義的常量,其效果等效于在這個實現(xiàn)類當(dāng)中定義了一個靜態(tài)常量。 ? 如果實現(xiàn)接口的類是 abstract類,則它可以不實現(xiàn)該接口的所有方法。這些方法體可以來自抽象的父類(被子類繼承),也可以來自子類自身的實現(xiàn),這主要體現(xiàn)了非抽象類中不能存在抽象方法的原則。 接口在 Java事件處理中的應(yīng)用 接口在編程中的作用 【 例 】 【 例 】 抽象類與接口 抽象類與接口 抽象類 接口 共同點 二者都可具有抽象方法,都不能實例化,但都可以有自己的聲明, 并能引用子類或?qū)崿F(xiàn)類對象。 成員方法 可以有具體方法 (而且具體方法可以調(diào)用抽象方法 )。 實現(xiàn)策略 必須有子類繼承 必須有實現(xiàn)類實現(xiàn) 擴展性 弱 強 引 用 引用要點 ? 引用如何形成:先聲明,后賦予對象,成為引用。 ? 引用可以替換嗎? 替換是有原則的:父類引用可以指向子類對象,子類聲明不能引用平行級別的其它類的對象 ,也不能引用父類對象。父類引用子類對象時,可以經(jīng)過顯式的轉(zhuǎn)化賦給子類的聲明,但子類的引用賦值給父類的聲明則不需要。 【 例 】 引用比較 ? instanceof的用法:判斷某個對象是否為某個類的可引用實例。 ? “==” 如果兩邊是對象引用則比較的是它們的引用是否相同;如果兩邊是數(shù)值,則比較的是它們的值 (如果值類型不同,有可能發(fā)生類型轉(zhuǎn)化,例如 10== true);如果一邊是引用,一邊是值,則編譯錯誤。 內(nèi)部類就是在某個類的 內(nèi)部 又定義了一個類。其通常的實現(xiàn)格式為: 格式一: new 類 A() { 方法體 } 此時產(chǎn)生的對象是類 A的子類對象。 匿名內(nèi)部類 【 例 】 — 【 例 】 使用原則和條件 匿名對象 匿名對象 就是在產(chǎn)生對象時沒有顯式地為這個對象建立引用。()。就是匿名對象了。 ? 將匿名對象作為參數(shù)傳遞給一個函數(shù)調(diào)用。 ? 通過調(diào)用對象方法 getClass而得到 Class對象,進而我們可以知道類的相關(guān)的一些特性,如:類的名稱、類的包、類的方法、類的父類等待。遇到異常后程序不能正常向下執(zhí)行。 【 例 】 。 a=67。 c=a/b。 } } 運行結(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組成的一個異常處理塊結(jié)構(gòu),最為完整的方式是trycatchfinally語句 ? try: try后面可跟一個或多個 catch。 ? catch:用于捕獲異常,參數(shù)是 ExceptionType類的對象, ExceptionType是 Throwable類的子類,它指出 catch語句中所處理的異常類型。若 不同 ,又不是 RuntimeException,則編譯不能通過。執(zhí)行過程類似于 switch case(但一個執(zhí)行,其它不執(zhí)行)。有時不需要對異常進行細(xì)致分類處理,則可統(tǒng)一為一個 catch(Exception e){}。它是可選的部分,但一旦選定, 必定執(zhí)行。 } finally { ( Finally )。 自定義異常與異常對象的主動產(chǎn)生 異常對象大部分由系統(tǒng)產(chǎn)生;在編程時也可以 主動 產(chǎn)生異常,相應(yīng)的語句為: throw new 異常類; new后面的異常類可以是 JDK中定義好的異常,也可以是自定義異常(繼承某個異常類的自制異常類)。 //調(diào)用 Exception的構(gòu)造方法 } static void throwOne() throws SelfGenerateException { int a = 1。} } public static void main(String args[]) { try {throwOne()。} } } 運行結(jié)果為: SelfGenerateException: a為 1 at (:11) at (:18)
點擊復(fù)制文檔內(nèi)容
教學(xué)課件相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1