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

正文內(nèi)容

第四章類的重用-在線瀏覽

2024-09-11 13:33本頁(yè)面
  

【正文】 隱藏和覆蓋 (續(xù) ) —— 例 4_4測(cè)試 類的繼承 清華大學(xué) 鄭莉 JAVA語(yǔ)言程序設(shè)計(jì) 23 ? 運(yùn)行結(jié)果 4 = 12 x= 100 12 = 16 x= 100 16 4 隱藏和覆蓋 (續(xù) ) —— 例 4_4運(yùn)行結(jié)果 類的繼承 清華大學(xué) 鄭莉 JAVA語(yǔ)言程序設(shè)計(jì) 24 ? 子類不能繼承父類中的靜態(tài)屬性,但可以對(duì)父類中的靜態(tài)屬性進(jìn)行操作?!备臑椤?static int x = 2?!陛敵龅慕Y(jié)果,顯然類B中的 printb()方法修改的是類A中的靜態(tài)屬性 x 隱藏和覆蓋 (續(xù) ) —— 例 4_4運(yùn)行結(jié)果 類的繼承 清華大學(xué) 鄭莉 JAVA語(yǔ)言程序設(shè)計(jì) 25 ? 方法覆蓋 – 如果子類不需使用從父類繼承來(lái)的方法的功能,則可以聲明自己的同名方法,稱為方法覆蓋 – 覆蓋方法的返回類型,方法名稱,參數(shù)的個(gè)數(shù)及類型必須和被覆蓋的方法一摸一樣 – 只需在方法名前面使用不同的類名或不同類的對(duì)象名即可區(qū)分覆蓋方法和被覆蓋方法 – 覆蓋方法的訪問權(quán)限可以比被覆蓋的寬松,但是不能更為嚴(yán)格 隱藏和覆蓋 (續(xù) ) —— 方法覆蓋 類的繼承 清華大學(xué) 鄭莉 JAVA語(yǔ)言程序設(shè)計(jì) 26 ? 方法覆蓋的應(yīng)用場(chǎng)合 – 子類中實(shí)現(xiàn)與父類相同的功能,但采用不同的算法或公式 – 在名字相同的方法中,要做比父類更多的事情 – 在子類中需要取消從父類繼承的方法 隱藏和覆蓋 (續(xù) ) —— 方法覆蓋的應(yīng)用場(chǎng)合 類的繼承 清華大學(xué) 鄭莉 JAVA語(yǔ)言程序設(shè)計(jì) 27 ? 必須覆蓋的方法 –派生類必須覆蓋基類中的抽象的方法,否則派生類自身也成為抽象類 . ? 不能覆蓋的方法 –基類中聲明為 final的終結(jié)方法 –基類中聲明為 static 的靜態(tài)方法 ? 調(diào)用被覆蓋的方法 – ()。 public Person() { this(, , )。 phoneNumber=aPhoneNumber。 } } 有繼承時(shí)的構(gòu)造方法 (續(xù) ) —— 例 4_5 類的繼承 清華大學(xué) 鄭莉 JAVA語(yǔ)言程序設(shè)計(jì) 30 public class Employee extends Person { protected int employeeNumber。 public Employee(){ //此處隱含調(diào)用構(gòu)造方法 Person() this(0, )。 workPhoneNumber = aPhoneNumber。 public Professor(){ super()。 } public Professor(int aNumber, String aPhoneNumber, String aResearch) { super(aNumber, aPhoneNumber)。 } } 有繼承時(shí)的構(gòu)造方法 (續(xù) ) —— 例 4_5 類的繼承 清華大學(xué) 鄭莉 JAVA語(yǔ)言程序設(shè)計(jì) 32 ? 在一個(gè)公司管理信息系統(tǒng)中,包括 – 普通員工 (Employees), 其可能有的屬性信息包括 ? 員工號(hào) (employeeNumber) ? 姓名 (name) ? 地址 (address) ? 電話號(hào)碼 (phoneNumber) – 管理者 (Magagers), 除具有普通員工所具有的屬性及行為外,還具有下面的屬性和行為 ? 職責(zé) (responsibilities) ? 所管理的職員 (listOfEmployees) ? 工資的計(jì)算方法與一般員工不同;福利與一般員工不同 – 顧客 (Customers), 可能有的屬性信息包括 ? 姓名 (name) ? 地址 (address) ? 電話號(hào)碼 (phoneNumber) 應(yīng)用舉例 —— 例 4_6 類的繼承 清華大學(xué) 鄭莉 JAVA語(yǔ)言程序設(shè)計(jì) 33 ? 類層次結(jié)構(gòu) 應(yīng)用舉例 (續(xù) ) —— 例 4_6 Person Employee Manager Customer 類的繼承 清華大學(xué) 鄭莉 JAVA語(yǔ)言程序設(shè)計(jì) 34 Object 類 ? Object類 – Java程序中所有類的直接或間接父類,類庫(kù)中所有類的父類,處在類層次最高點(diǎn) – 包含了所有 Java類的公共屬性,其構(gòu)造方法是Object( ) 清華大學(xué) 鄭莉 JAVA語(yǔ)言程序設(shè)計(jì) 35 ? Object類定義了所有對(duì)象必須具有的狀態(tài)和行為,較主要的方法如下 – public final Class getClass() ? 獲取當(dāng)前對(duì)象所屬的類信息,返回 Class對(duì)象 – public String toString() ? 返回當(dāng)前對(duì)象本身的有關(guān)信息,按字符串對(duì)象返回 – public boolean equals(Object obj) ? 比較兩個(gè)對(duì)象是否是同一對(duì)象,是則返回 true – protected Object clone( ) ? 生成當(dāng)前對(duì)象的一個(gè)拷貝,并返回這個(gè)復(fù)制對(duì)象 – Public int hashCode() ? 返回該對(duì)象的哈希代碼值 – protected void finalize() throws Throwable ? 定義回收當(dāng)前對(duì)象時(shí)所需完成的資源釋放工作 ? 你的類不可以覆蓋終結(jié)方法,即有 final修飾的方法 Object類 (續(xù) ) —— 包含的主要方法 Object類 清華大學(xué) 鄭莉 JAVA語(yǔ)言程序設(shè)計(jì) 36 ? 相等和同一的概念 –兩個(gè)對(duì)象具有相同的類型,及相同的屬性值,則稱二者相等 (equal) –如果兩個(gè)引用變量指向的是同一個(gè)對(duì)象,則稱這兩個(gè)變量 (對(duì)象 )同一 (identical) –兩個(gè)對(duì)象同一,則肯定相等 –兩個(gè)對(duì)象相等,不一定同一 –比較運(yùn)算符“ ==” 判斷的是這兩個(gè)對(duì)象是否同一 Object類 (續(xù) ) —— 相等和同一 Object類 清華大學(xué) 鄭莉 JAVA語(yǔ)言程序設(shè)計(jì) 37 ? 判斷兩個(gè)對(duì)象是否同一 public class Exam4_7{ public static void main(String args[]){ BankAccount a = new BankAccount(Bob, 123456, )。 if (a == b) (YES)。 } } ? BankAccount類在 ,此程序運(yùn)行的結(jié)果為“ NO”, 原因是使用等號(hào)“ ==”判斷的是兩個(gè)對(duì)象是否同一,顯然 a和 b是兩個(gè)對(duì)象 Object類 (續(xù) ) —— 例 4_7 Object類 清華大學(xué) 鄭莉 JAVA語(yǔ)言程序設(shè)計(jì) 38 ? 修改剛才的程序 public class Exam4_7{ public static void main(String args[]){ BankAccount a = new BankAccount(Bob, 123456, )。 if (a == b) (YES)。 } } ? 將 a所指對(duì)象的引用賦給 b, 因此 a與 b指向的是同一個(gè)對(duì)象, a與 b同一。 } Object類 (續(xù) ) —— equals方法 Object類 清華大學(xué) 鄭莉 JAVA語(yǔ)言程序設(shè)計(jì) 40 ? Object類中 equals方法的使用舉例 public class EqualsTest{ public static void main(String args[]){ BankAccount a = new BankAccount(Bob, 123456, )。 if ((b)) (YES)。 } } ? 由于不是同一對(duì)象,運(yùn)行結(jié)果仍然是“ NO” Object類 (續(xù) ) —— 例 4_8 清華大學(xué) 鄭莉 JAVA語(yǔ)言程序設(shè)計(jì) 41 ? equlas方法的重寫 –要判斷兩個(gè)對(duì)象各個(gè)屬性域的值是否相同,則不能使用從 Object類繼承來(lái)的equals方法,而需要在類聲明中對(duì)equals方法進(jìn)行重寫 – String類中已經(jīng)重寫了 Object類的 Equals方法,可以判別兩個(gè)字符串是否內(nèi)容相同 Object類 (續(xù) ) —— equals方法 的重寫 Object類 清華大學(xué) 鄭莉 JAVA語(yǔ)言程序設(shè)計(jì) 42 ? 在 BankAccount類中增加 equals方法,由于是對(duì)Object類中的 equals方法進(jìn)行重寫,因此方法定義頭必須與 Object類中的 equals方法完全相同 public boolean equals(Object x) { if (() != ()) return false。 return ((().equals(())) amp。(() == ()) amp。(() == ()))。 private boolean ripe。 ripe = isRipe。 } public void setRipe(boolean isRipe) { ripe = isRipe。 } public boolean getRipe() { return ripe。 else return(A not so ripe + color + apple)。 return ((()) amp。 (ripe == ()))。 } } public class AppleTester { public static void main(String args[]) { Apple a = new Apple(red, true)。 (a + is equal to + b + : + (b))。 Apple c = a。 (a is identical to c: + (a == c))。 void PrintClassName(Object obj) { (The Object39。 } Object類 (續(xù) ) —— getClass方法 Object類 清華大學(xué) 鄭莉 JAVA語(yǔ)言程序設(shè)計(jì) 49 ? notify、 notifyAll、 wait方法 – final方法,不能覆蓋 – 這三個(gè)方法主要用在多線程程序中 Object類 (續(xù) ) —— notify、 notifyAll、 wait方法 Object類 清華大學(xué) 鄭莉 JAVA語(yǔ)言程序設(shè)計(jì) 50 終結(jié)類與終結(jié)方法 ? 終結(jié)類與終結(jié)方法 –被 final修飾符修飾的類和方法 –終結(jié)類不能被繼承 –終結(jié)方法不能被當(dāng)前類的子類重寫 清華大學(xué) 鄭莉 JAVA語(yǔ)言程序設(shè)計(jì) 51 終結(jié)類 ? 終結(jié)類的特點(diǎn) –不能有派生類 ? 終結(jié)類存在的理由 –安全 : 黑客用來(lái)攪亂系統(tǒng)的一個(gè)手法是建立一個(gè)類的派生類,然后用他們的類代替原來(lái)的類 –設(shè)計(jì) : 你認(rèn)為你的類是最好的或從概念上你的類不應(yīng)該有任何派生類 終結(jié)類與終結(jié)方法 清華大學(xué) 鄭莉 JAVA語(yǔ)言程序設(shè)計(jì) 52 ? 聲明 ChessAlgorithm 類為 final 類 final class ChessAlgorithm { . . . } ? 如果寫下如下程序: class BetterChessAlgorithm extends ChessAlgorithm { … } 編譯器將顯示一個(gè)錯(cuò)誤 :6: Can39??煞乐棺宇悓?duì)父類關(guān)鍵方法的錯(cuò)誤重寫,增加了代碼的安全性和正確性 – 提高運(yùn)行效率。 } //終結(jié)方法 } ? 說(shuō)明 – getPI()是用 final修飾符聲明的終結(jié)方法,不能在子類中對(duì)該方法進(jìn)行重載,因而如下聲明是錯(cuò)的 Class Child extends Parent { public Child() { } //構(gòu)造方法
點(diǎn)擊復(fù)制文檔內(nèi)容
物理相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1