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

正文內(nèi)容

第二章類(lèi)與對(duì)象的基本概念-wenkub.com

2024-08-28 08:44 本頁(yè)面
   

【正文】 (())。 (Balance: $ + ())。 (() + 100)。 } public void setAccountNumber(int newNum) { accountNumber = newNum。 } 應(yīng)用舉例 聲明 BankAccount類(lèi) JAVA語(yǔ)言程序設(shè)計(jì) 清華大學(xué) 鄭莉 103 public String getOwnerName() { return ownerName。 public BankAccount() { this(, 0, 0)。 balance = initBalance。 } } 構(gòu)造方法 (續(xù) ) —— 對(duì)象初始化和回收 JAVA語(yǔ)言程序設(shè)計(jì) 清華大學(xué) 鄭莉 94 ? 測(cè)試結(jié)果 Creating new Tree that is 0 feet tall Tree is 0 feet tall overloaded method: Tree is 0 feet tall Creating new Tree that is 1 feet tall Tree is 1 feet tall overloaded method: Tree is 1 feet tall Creating new Tree that is 2 feet tall Tree is 2 feet tall overloaded method: Tree is 2 feet tall Creating new Tree that is 3 feet tall Tree is 3 feet tall overloaded method: Tree is 3 feet tall Creating new Tree that is 4 feet tall Tree is 4 feet tall overloaded method: Tree is 4 feet tall Planting a seedling 構(gòu)造方法 (續(xù) ) —— Overloading測(cè)試結(jié)果 對(duì)象初始化和回收 JAVA語(yǔ)言程序設(shè)計(jì) 清華大學(xué) 鄭莉 95 ? this關(guān)鍵字的使用 –可以使用 this關(guān)鍵字在一個(gè)構(gòu)造方法中調(diào)用另外的構(gòu)造方法 –代碼更簡(jiǎn)潔,維護(hù)起來(lái)也更容易 –通常用參數(shù)個(gè)數(shù)比較少的構(gòu)造方法調(diào)用參數(shù)個(gè)數(shù)最多的構(gòu)造方法 構(gòu)造方法 (續(xù) ) —— this關(guān)鍵字的使用 對(duì)象初始化和回收 JAVA語(yǔ)言程序設(shè)計(jì) 清華大學(xué) 鄭莉 96 ? 使用 this關(guān)鍵字,修改 BankAccout類(lèi)中無(wú)參數(shù)和二參數(shù)的構(gòu)造方法 對(duì)象初始化和回收 public BankAccount() { this(, 999999, )。 i++) { Tree t = new Tree(i)。 } void info(String s) { prt(s + : Tree is + height + feet tall)。 height = 0。 } 對(duì)象初始化和回收 構(gòu)造方法 (續(xù) ) —— 例 2_14 JAVA語(yǔ)言程序設(shè)計(jì) 清華大學(xué) 鄭莉 92 ? 創(chuàng)建一個(gè)擁有兩個(gè)構(gòu)造方法的 Tree類(lèi),一個(gè)有參,一個(gè)無(wú)參。 編譯器將要告訴你找不到對(duì)應(yīng)的構(gòu)造方法 ? 說(shuō)明 – 用戶(hù)在進(jìn)行類(lèi)聲明時(shí),如果沒(méi)有聲明任何構(gòu)造方法,系統(tǒng)會(huì)賦給此類(lèi)一個(gè)默認(rèn)(無(wú)參)的構(gòu)造方法。 accountNumber = initAccountNumber。在方法調(diào)用時(shí), Java可以通過(guò)參數(shù)列表的不同來(lái)辨別應(yīng)調(diào)用哪一個(gè)方法 對(duì)象初始化和回收 構(gòu)造方法 (續(xù) ) —— 自定義構(gòu)造方法 JAVA語(yǔ)言程序設(shè)計(jì) 清華大學(xué) 鄭莉 88 ? 為 BankAccount聲明一個(gè)有三個(gè)參數(shù)的構(gòu)造方法 public BankAccount(String initName, int initAccountNumber, float initBalance) { ownerName = initName。 (ownerName= + )。 } 類(lèi)成員的訪(fǎng)問(wèn)控制 (續(xù) ) —— set方法 類(lèi)與對(duì)象 JAVA語(yǔ)言程序設(shè)計(jì) 清華大學(xué) 鄭莉 81 對(duì)象初始化和回收 ? 對(duì)象初始化 –系統(tǒng)在生成對(duì)象時(shí),會(huì)為對(duì)象分配內(nèi)存空間,并自動(dòng)調(diào)用 構(gòu)造方法 對(duì)實(shí)例變量進(jìn)行初始化 ? 對(duì)象回收 –對(duì)象不再使用時(shí),系統(tǒng)會(huì)調(diào)用 垃圾回收程序 將其占用的內(nèi)存回收 JAVA語(yǔ)言程序設(shè)計(jì) 清華大學(xué) 鄭莉 82 構(gòu)造方法 ? 構(gòu)造方法 –一種和類(lèi)同名的特殊方法 –用來(lái)初始化對(duì)象 – Java中的每個(gè)類(lèi)都有構(gòu)造方法,用來(lái)初始化該類(lèi)的一個(gè)新的對(duì)象 –沒(méi)有定義構(gòu)造方法的類(lèi),系統(tǒng)自動(dòng)提供默認(rèn)的構(gòu)造方法 對(duì)象初始化和回收 JAVA語(yǔ)言程序設(shè)計(jì) 清華大學(xué) 鄭莉 83 ? 構(gòu)造方法的特點(diǎn) – 方法名與類(lèi)名相同 – 沒(méi)有返回類(lèi)型,修飾符 void也不能有 – 通常被聲明為公有的 (public) – 可以有任意多個(gè)參數(shù) – 主要作用是完成對(duì)象的初始化工作 – 不能在程序中顯式的調(diào)用 – 在生成一個(gè)對(duì)象時(shí),系統(tǒng)會(huì)自動(dòng)調(diào)用該類(lèi)的構(gòu)造方法為新生成的對(duì)象初始化 構(gòu)造方法 (續(xù) ) 對(duì)象初始化和回收 JAVA語(yǔ)言程序設(shè)計(jì) 清華大學(xué) 鄭莉 84 ? 系統(tǒng)提供的默認(rèn)構(gòu)造方法 –如果在類(lèi)的聲明中沒(méi)有聲明構(gòu)造方法,則Java編譯器會(huì)提供一個(gè)默認(rèn)的構(gòu)造方法 –默認(rèn)的構(gòu)造方法沒(méi)有參數(shù),其方法體為空 –使用默認(rèn)的構(gòu)造方法初始化對(duì)象時(shí),如果在類(lèi)聲明中沒(méi)有給實(shí)例變量賦初值,則對(duì)象的屬性值為零或空 對(duì)象初始化和回收 構(gòu)造方法 (續(xù) ) —— 默認(rèn)構(gòu)造方法 JAVA語(yǔ)言程序設(shè)計(jì) 清華大學(xué) 鄭莉 85 ? 聲明一個(gè)銀行帳號(hào)類(lèi)及測(cè)試代碼 public class BankAccount{ String ownerName。 } – 聲明實(shí)例變量 radius的 set方法如下: public void setRadius(int r){ radius = r?!睍r(shí)會(huì)提示存在語(yǔ)法錯(cuò)誤 “ radius has private access in Circle” ? 說(shuō)明 – 由于在 Circle類(lèi)聲明中變量 radius被聲明為private, 因此在其它類(lèi)中不能直接對(duì) radius進(jìn)行存取 – 如果要允許其它類(lèi)訪(fǎng)問(wèn) radius的值,就需要在Circle類(lèi)中聲明相應(yīng)的公有方法。 (Circle 1 has circumference + circum1)。 Circle c2 = new Circle()。 private int radius。 } } – 方法調(diào)用 (40) 方法成員 (續(xù) ) —— 例 2_10 類(lèi)與對(duì)象 JAVA語(yǔ)言程序設(shè)計(jì) 清華大學(xué) 鄭莉 66 ? 包 –是一組類(lèi)的集合 ?一個(gè)包可以包含若干個(gè)類(lèi)文件,還可包含若干個(gè)包 –包的作用 ?將相關(guān)的源代碼文件組織在一起 ?類(lèi)名的空間管理,利用包來(lái)劃分名字空間,便可以避免類(lèi)名沖突 ?提供包一級(jí)的封裝及存取權(quán)限 類(lèi)的組織 —— 包的概念 類(lèi)與對(duì)象 JAVA語(yǔ)言程序設(shè)計(jì) 清華大學(xué) 鄭莉 67 ? 包的命名 – 每個(gè)包的名稱(chēng)必須是“獨(dú)一無(wú)二”的 – Java中包名使用小寫(xiě)字母表示 – 命名方式建議 ? 將機(jī)構(gòu)的 Inter域名反序,作為包名的前導(dǎo) ? 若包名中有任何不可用于標(biāo)識(shí)符的字符,用下劃線(xiàn)替代 ? 若包名中的任何部分與關(guān)鍵字沖突,后綴下劃線(xiàn) ? 若包名中的任何部分以數(shù)字或其他不能用作標(biāo)識(shí)符起始的字符開(kāi)頭,前綴下劃線(xiàn) 類(lèi)的組織 —— 包的概念 類(lèi)與對(duì)象 JAVA語(yǔ)言程序設(shè)計(jì) 清華大學(xué) 鄭莉 68 ? 編譯單元與類(lèi)空間 – 一個(gè) Java源代碼文件稱(chēng)為一個(gè)編譯單元,由三部分組成 ? 所屬包的聲明(省略,則屬于默認(rèn)包) ? Import ( 引入)包的聲明,用于導(dǎo)入外部的類(lèi) ? 類(lèi)和接口的聲明 – 一個(gè)編譯單元中只能有一個(gè) public類(lèi),該類(lèi)名與文件名相同,編譯單元中的其他類(lèi)往往是 public類(lèi)的輔助類(lèi),經(jīng)過(guò)編譯,每個(gè)類(lèi)都會(huì)產(chǎn)一個(gè) class文件 – 利用包來(lái)劃分名字空間,便可以避免類(lèi)名沖突 類(lèi)的組織 —— 包的概念 (續(xù) ) 類(lèi)與對(duì)象 JAVA語(yǔ)言程序設(shè)計(jì) 清華大學(xué) 鄭莉 69 ? 包的聲明 –命名的包( Named Packages) ?例如: package Mypackage。 = 30。 Circle c2 = new Circle()。amp。 int radius。 (Circle 2 的周長(zhǎng) : + ())。 = 50。 public double circumference() { return 2 * PI * radius。 (Circle has area + ())。 = 50。 } } public class Rectangle { double width。 } } 方法成員 (續(xù) ) —— 例 2_6 類(lèi)與對(duì)象 JAVA語(yǔ)言程序設(shè)計(jì) 清華大學(xué) 鄭莉 54 ? 運(yùn)行結(jié)果 Circle 1 has circumference Circle 2 has circumference ? 說(shuō)明 – 在使用實(shí)例方法時(shí),需要將其發(fā)送給一個(gè)實(shí)例對(duì)象(也稱(chēng)給對(duì)象發(fā)送一條消息), radius的值即是接收者對(duì)象的值 – 在執(zhí)行 ()時(shí), radius的值為 c1的 radius屬性值;在執(zhí)行 ()時(shí),radius的值為 c2的 radius屬性值 類(lèi)與對(duì)象 方法成員 (續(xù) ) —— 例 2_6運(yùn)行結(jié)果 JAVA語(yǔ)言程序設(shè)計(jì) 清華大學(xué) 鄭莉 55 ? 在 Circle類(lèi)及 Rectangle類(lèi)中聲明計(jì)算面積的方法area() 方法成員 (續(xù) ) —— 例 2_7 public class Circle { static double PI = 。 double circum1 = ()。 關(guān)鍵字 this代表此方法的接收者對(duì)象 方法成員 (續(xù) ) —— 例 2_6 類(lèi)與對(duì)象 JAVA語(yǔ)言程序設(shè)計(jì) 清華大學(xué) 鄭莉 53 ? 方法調(diào)用測(cè)試 public class CircumferenceTester { public static void main(String args[]) { Circle c1 = new Circle()。 } } 數(shù)據(jù)成員 (續(xù) ) —— Point類(lèi)測(cè)試 類(lèi)與對(duì)象 JAVA語(yǔ)言程序設(shè)計(jì) 清華大學(xué) 鄭莉 44 ? 測(cè)試結(jié)果 1 2 true 2 數(shù)據(jù)成員 (續(xù) ) —— Point類(lèi)測(cè)試結(jié)果 類(lèi)與對(duì)象 JAVA語(yǔ)言程序設(shè)計(jì) 清華大學(xué) 鄭莉 45 ? 實(shí)例變量和類(lèi)變量都可被聲明為 final ? final實(shí)例變量必須在每個(gè)構(gòu)造方法結(jié)束之前賦初值,以保證使用之前會(huì)被初始化 ? final類(lèi)變量必須在聲明的同時(shí)初始化 數(shù)據(jù)成員 (續(xù) ) —— final修飾符 類(lèi)與對(duì)象 JAVA語(yǔ)言程序設(shè)計(jì) 清華大學(xué) 鄭莉 46 方法成員 ? 方法成員 –定義類(lèi)的行為 ?一個(gè)對(duì)象能夠做的事情 ?我們能夠從一個(gè)對(duì)象取得的信息 –可以沒(méi)有,也可以有多個(gè);一旦在類(lèi)中聲明了方法,它就成為了類(lèi)聲明的一部分 –分為實(shí)例方法和類(lèi)方法 類(lèi)
點(diǎn)擊復(fù)制文檔內(nèi)容
教學(xué)課件相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖片鄂ICP備17016276號(hào)-1