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

正文內(nèi)容

第四章類的重用-文庫(kù)吧

2025-07-17 13:33 本頁(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)用被覆蓋的方法 – ()。 隱藏和覆蓋 (續(xù) ) —— 方法覆蓋的注意事項(xiàng) 類的繼承 清華大學(xué) 鄭莉 JAVA語(yǔ)言程序設(shè)計(jì) 28 有繼承時(shí)的構(gòu)造方法 ? 有繼承時(shí)的構(gòu)造方法遵循以下的原則 – 子類不能從父類繼承構(gòu)造方法 – 好的程序設(shè)計(jì)方法是在子類的構(gòu)造方法中調(diào)用某一個(gè)父類構(gòu)造方法,調(diào)用語(yǔ)句必須出現(xiàn)在子類構(gòu)造方法的第一行,可使用 super關(guān)鍵字 – 如子類構(gòu)造方法的聲明中沒(méi)有明確調(diào)用父類構(gòu)造方法,則系統(tǒng)在執(zhí)行子類的構(gòu)造方法時(shí)會(huì)自動(dòng)調(diào)用父類的默認(rèn)構(gòu)造方法(即無(wú)參的構(gòu)造方法) 類的繼承 清華大學(xué) 鄭莉 JAVA語(yǔ)言程序設(shè)計(jì) 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。 } } 有繼承時(shí)的構(gòu)造方法 (續(xù) ) —— 例 4_5 類的繼承 清華大學(xué) 鄭莉 JAVA語(yǔ)言程序設(shè)計(jì) 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。 } } 有繼承時(shí)的構(gòu)造方法 (續(xù) ) —— 例 4_5 類的繼承 清華大學(xué) 鄭莉 JAVA語(yǔ)言程序設(shè)計(jì) 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。 } } 有繼承時(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, )。 BankAccount b = new BankAccount(Bob, 123456, )。 if (a == b) (YES)。 else (NO)。 } } ? 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, )。 BankAccount b = a。 if (a == b) (YES)。 else (NO)。 } } ? 將 a所指對(duì)象的引用賦給 b, 因此 a與 b指向的是同一個(gè)對(duì)象, a與 b同一。輸出結(jié)果為“ YES” Object類 (續(xù) ) —— 例 4_7 Object類 清華大學(xué) 鄭莉 JAVA語(yǔ)言程序設(shè)計(jì) 39 ? equals 方法 –由于 Object是類層次結(jié)構(gòu)中的樹(shù)根節(jié)點(diǎn),因此所有其他類都繼承了 equals()方法 – Object類中的 equals() 方法的定義如下,可見(jiàn),也是判斷兩個(gè)對(duì)象是否同一 public boolean equals(Object x) { return this == x。 } 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, )。 BankAccount b = new BankAccount(Bob, 123456, )。 if ((b)) (YES)。 else (NO)。 } } ? 由于不是同一對(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。 BankAccount b = (BankAccount) x。 return ((().equals(())) amp。amp。(() == ()) amp。amp。(() == ()))。 } Object類 (續(xù) ) —— equals方法 的重寫 Object類 清華大學(xué) 鄭莉 JAVA語(yǔ)言程序設(shè)計(jì) 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
點(diǎn)擊復(fù)制文檔內(nèi)容
物理相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1