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

正文內(nèi)容

第四章類的重用-文庫吧

2025-07-17 13:33 本頁面


【正文】 程序設(shè)計 26 ? 方法覆蓋的應(yīng)用場合 – 子類中實現(xiàn)與父類相同的功能,但采用不同的算法或公式 – 在名字相同的方法中,要做比父類更多的事情 – 在子類中需要取消從父類繼承的方法 隱藏和覆蓋 (續(xù) ) —— 方法覆蓋的應(yīng)用場合 類的繼承 清華大學(xué) 鄭莉 JAVA語言程序設(shè)計 27 ? 必須覆蓋的方法 –派生類必須覆蓋基類中的抽象的方法,否則派生類自身也成為抽象類 . ? 不能覆蓋的方法 –基類中聲明為 final的終結(jié)方法 –基類中聲明為 static 的靜態(tài)方法 ? 調(diào)用被覆蓋的方法 – ()。 隱藏和覆蓋 (續(xù) ) —— 方法覆蓋的注意事項 類的繼承 清華大學(xué) 鄭莉 JAVA語言程序設(shè)計 28 有繼承時的構(gòu)造方法 ? 有繼承時的構(gòu)造方法遵循以下的原則 – 子類不能從父類繼承構(gòu)造方法 – 好的程序設(shè)計方法是在子類的構(gòu)造方法中調(diào)用某一個父類構(gòu)造方法,調(diào)用語句必須出現(xiàn)在子類構(gòu)造方法的第一行,可使用 super關(guān)鍵字 – 如子類構(gòu)造方法的聲明中沒有明確調(diào)用父類構(gòu)造方法,則系統(tǒng)在執(zhí)行子類的構(gòu)造方法時會自動調(diào)用父類的默認(rèn)構(gòu)造方法(即無參的構(gòu)造方法) 類的繼承 清華大學(xué) 鄭莉 JAVA語言程序設(shè)計 29 public class Person { protected String name, phoneNumber, address。 public Person() { this(, , )。 } public Person(String aName, String aPhoneNumber, String anAddress) { name=aName。 phoneNumber=aPhoneNumber。 address=anAddress。 } } 有繼承時的構(gòu)造方法 (續(xù) ) —— 例 4_5 類的繼承 清華大學(xué) 鄭莉 JAVA語言程序設(shè)計 30 public class Employee extends Person { protected int employeeNumber。 protected String workPhoneNumber。 public Employee(){ //此處隱含調(diào)用構(gòu)造方法 Person() this(0, )。 } public Employee(int aNumber, String aPhoneNumber){ //此處隱含調(diào)用構(gòu)造方法 Person() employeeNumber=aNumber。 workPhoneNumber = aPhoneNumber。 } } 有繼承時的構(gòu)造方法 (續(xù) ) —— 例 4_5 類的繼承 清華大學(xué) 鄭莉 JAVA語言程序設(shè)計 31 public class Professor extends Employee { protected String research。 public Professor(){ super()。 research = 。 } public Professor(int aNumber, String aPhoneNumber, String aResearch) { super(aNumber, aPhoneNumber)。 research = aResearch。 } } 有繼承時的構(gòu)造方法 (續(xù) ) —— 例 4_5 類的繼承 清華大學(xué) 鄭莉 JAVA語言程序設(shè)計 32 ? 在一個公司管理信息系統(tǒng)中,包括 – 普通員工 (Employees), 其可能有的屬性信息包括 ? 員工號 (employeeNumber) ? 姓名 (name) ? 地址 (address) ? 電話號碼 (phoneNumber) – 管理者 (Magagers), 除具有普通員工所具有的屬性及行為外,還具有下面的屬性和行為 ? 職責(zé) (responsibilities) ? 所管理的職員 (listOfEmployees) ? 工資的計算方法與一般員工不同;福利與一般員工不同 – 顧客 (Customers), 可能有的屬性信息包括 ? 姓名 (name) ? 地址 (address) ? 電話號碼 (phoneNumber) 應(yīng)用舉例 —— 例 4_6 類的繼承 清華大學(xué) 鄭莉 JAVA語言程序設(shè)計 33 ? 類層次結(jié)構(gòu) 應(yīng)用舉例 (續(xù) ) —— 例 4_6 Person Employee Manager Customer 類的繼承 清華大學(xué) 鄭莉 JAVA語言程序設(shè)計 34 Object 類 ? Object類 – Java程序中所有類的直接或間接父類,類庫中所有類的父類,處在類層次最高點 – 包含了所有 Java類的公共屬性,其構(gòu)造方法是Object( ) 清華大學(xué) 鄭莉 JAVA語言程序設(shè)計 35 ? Object類定義了所有對象必須具有的狀態(tài)和行為,較主要的方法如下 – public final Class getClass() ? 獲取當(dāng)前對象所屬的類信息,返回 Class對象 – public String toString() ? 返回當(dāng)前對象本身的有關(guān)信息,按字符串對象返回 – public boolean equals(Object obj) ? 比較兩個對象是否是同一對象,是則返回 true – protected Object clone( ) ? 生成當(dāng)前對象的一個拷貝,并返回這個復(fù)制對象 – Public int hashCode() ? 返回該對象的哈希代碼值 – protected void finalize() throws Throwable ? 定義回收當(dāng)前對象時所需完成的資源釋放工作 ? 你的類不可以覆蓋終結(jié)方法,即有 final修飾的方法 Object類 (續(xù) ) —— 包含的主要方法 Object類 清華大學(xué) 鄭莉 JAVA語言程序設(shè)計 36 ? 相等和同一的概念 –兩個對象具有相同的類型,及相同的屬性值,則稱二者相等 (equal) –如果兩個引用變量指向的是同一個對象,則稱這兩個變量 (對象 )同一 (identical) –兩個對象同一,則肯定相等 –兩個對象相等,不一定同一 –比較運算符“ ==” 判斷的是這兩個對象是否同一 Object類 (續(xù) ) —— 相等和同一 Object類 清華大學(xué) 鄭莉 JAVA語言程序設(shè)計 37 ? 判斷兩個對象是否同一 public class Exam4_7{ public static void main(String args[]){ BankAccount a = new BankAccount(Bob, 123456, )。 BankAccount b = new BankAccount(Bob, 123456, )。 if (a == b) (YES)。 else (NO)。 } } ? BankAccount類在 ,此程序運行的結(jié)果為“ NO”, 原因是使用等號“ ==”判斷的是兩個對象是否同一,顯然 a和 b是兩個對象 Object類 (續(xù) ) —— 例 4_7 Object類 清華大學(xué) 鄭莉 JAVA語言程序設(shè)計 38 ? 修改剛才的程序 public class Exam4_7{ public static void main(String args[]){ BankAccount a = new BankAccount(Bob, 123456, )。 BankAccount b = a。 if (a == b) (YES)。 else (NO)。 } } ? 將 a所指對象的引用賦給 b, 因此 a與 b指向的是同一個對象, a與 b同一。輸出結(jié)果為“ YES” Object類 (續(xù) ) —— 例 4_7 Object類 清華大學(xué) 鄭莉 JAVA語言程序設(shè)計 39 ? equals 方法 –由于 Object是類層次結(jié)構(gòu)中的樹根節(jié)點,因此所有其他類都繼承了 equals()方法 – Object類中的 equals() 方法的定義如下,可見,也是判斷兩個對象是否同一 public boolean equals(Object x) { return this == x。 } Object類 (續(xù) ) —— equals方法 Object類 清華大學(xué) 鄭莉 JAVA語言程序設(shè)計 40 ? Object類中 equals方法的使用舉例 public class EqualsTest{ public static void main(String args[]){ BankAccount a = new BankAccount(Bob, 123456, )。 BankAccount b = new BankAccount(Bob, 123456, )。 if ((b)) (YES)。 else (NO)。 } } ? 由于不是同一對象,運行結(jié)果仍然是“ NO” Object類 (續(xù) ) —— 例 4_8 清華大學(xué) 鄭莉 JAVA語言程序設(shè)計 41 ? equlas方法的重寫 –要判斷兩個對象各個屬性域的值是否相同,則不能使用從 Object類繼承來的equals方法,而需要在類聲明中對equals方法進行重寫 – String類中已經(jīng)重寫了 Object類的 Equals方法,可以判別兩個字符串是否內(nèi)容相同 Object類 (續(xù) ) —— equals方法 的重寫 Object類 清華大學(xué) 鄭莉 JAVA語言程序設(shè)計 42 ? 在 BankAccount類中增加 equals方法,由于是對Object類中的 equals方法進行重寫,因此方法定義頭必須與 Object類中的 equals方法完全相同 public boolean equals(Object x) { if (() != ()) return false。 BankAccount b = (BankAccount) x。 return ((().equals(())) amp。amp。(() == ()) amp。amp。(() == ()))。 } Object類 (續(xù) ) —— equals方法 的重寫 Object類 清華大學(xué) 鄭莉 JAVA語言程序設(shè)計 43 ? equals方法的應(yīng)用舉例 public class Apple { private String color。 private boolean ripe。 public Apple(String aColor, boolean isRipe) { color = aColor。 ripe = isRipe。 } public void setColor(String aColor) { color = aColor。 } public void setRipe(boolean isRipe) { ripe = isRipe。 } public String getColor() { return color。 } public boolean getRipe() { return ripe。 } public String toString() { if (ripe) return(A ripe + color + apple)。 else return(A not so ripe + color + ap
點擊復(fù)制文檔內(nèi)容
物理相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1