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

正文內(nèi)容

第二章類與對(duì)象的基本概念(完整版)

  

【正文】 1 has circumference Circle 2 has circumference ? 說明 – 在使用實(shí)例方法時(shí),需要將其發(fā)送給一個(gè)實(shí)例對(duì)象(也稱給對(duì)象發(fā)送一條消息), radius的值即是接收者對(duì)象的值 – 在執(zhí)行 ()時(shí), radius的值為 c1的 radius屬性值;在執(zhí)行 ()時(shí),radius的值為 c2的 radius屬性值 類與對(duì)象 方法成員 (續(xù) ) —— 例 2_6運(yùn)行結(jié)果 JAVA語言程序設(shè)計(jì) 清華大學(xué) 鄭莉 55 ? 在 Circle類及 Rectangle類中聲明計(jì)算面積的方法area() 方法成員 (續(xù) ) —— 例 2_7 public class Circle { static double PI = 。 關(guān)鍵字 this代表此方法的接收者對(duì)象 方法成員 (續(xù) ) —— 例 2_6 類與對(duì)象 JAVA語言程序設(shè)計(jì) 清華大學(xué) 鄭莉 53 ? 方法調(diào)用測(cè)試 public class CircumferenceTester { public static void main(String args[]) { Circle c1 = new Circle()。 Point q = new Point(2,2)。 } } – 測(cè)試結(jié)果 數(shù)據(jù)成員 (續(xù) ) —— 例 2_5運(yùn)行結(jié)果 類與對(duì)象 JAVA語言程序設(shè)計(jì) 清華大學(xué) 鄭莉 42 ? 聲明一個(gè) Point類,有兩個(gè)私有變量保存點(diǎn)坐標(biāo),一個(gè)類變量保存已有點(diǎn)的個(gè)數(shù) public class Point { private int x。 //...do something interesting } 數(shù)據(jù)成員 (續(xù) ) —— 例 2_4 類與對(duì)象 JAVA語言程序設(shè)計(jì) 清華大學(xué) 鄭莉 39 ? 類變量 – 也稱為靜態(tài)變量,聲明時(shí)需加 static修飾符 – 不管類的對(duì)象有多少,類變量只存在一份,在整個(gè)類中只有一個(gè)值 – 類初始化的同時(shí)就被賦值 – 適用情況 ? 類中所有對(duì)象都相同的屬性 ? 經(jīng)常需要共享的數(shù)據(jù) ? 系統(tǒng)中用到的一些常量值 – 引用格式 類名 | 實(shí)例名 .類變量名 數(shù)據(jù)成員 (續(xù) ) —— 類變量 類與對(duì)象 JAVA語言程序設(shè)計(jì) 清華大學(xué) 鄭莉 40 ? 對(duì)于一個(gè)圓類的所有對(duì)象,計(jì)算圓的面積時(shí),都需用到 π的值,可在 Circle類的聲明中增加一個(gè)類屬性 PI public class Circle { static double PI = 。 = “Beijing。 String city。 gateNumber2 = 2。 String postalCode1,postalCode2。 = 。 y = new Rectangle()。 x = new Circle()。 second=news 。 ?方法 (行為 ) –生物行為 Eat(), Step(),… –社會(huì)行為 Work(), Study(),… 面向?qū)ο蟪绦蛟O(shè)計(jì)方法概述 抽象 (續(xù) ) JAVA語言程序設(shè)計(jì) 清華大學(xué) 鄭莉 12 封裝 ? 封裝 –是一種信息隱蔽技術(shù) –利用抽象數(shù)據(jù)類型將數(shù)據(jù)和基于數(shù)據(jù)的操作封裝在一起 – 用戶只能看到對(duì)象的封裝界面信息,對(duì)象的內(nèi)部細(xì)節(jié)對(duì)用戶是隱蔽的 – 封裝的目的在于將對(duì)象的使用者和設(shè)計(jì)者分開,使用者不必知道行為實(shí)現(xiàn)的細(xì)節(jié),只需使用設(shè)計(jì)者提供的消息來訪問對(duì)象 面向?qū)ο蟪绦蛟O(shè)計(jì)方法概述 JAVA語言程序設(shè)計(jì) 清華大學(xué) 鄭莉 13 ? 封裝的定義 –清楚的邊界 ?所有對(duì)象的內(nèi)部信息被限定在這個(gè)邊界內(nèi) –接口 ?對(duì)象向外界提供的方法,外界可以通過這些方法與對(duì)象進(jìn)行交互 –受保護(hù)的內(nèi)部實(shí)現(xiàn) ?功能的實(shí)現(xiàn)細(xì)節(jié),不能從類外訪問。 int Minute。 char *gender。 int second 。 – 格式說明 ? public、 protected、 private 為訪問控制符 ? static指明這是一個(gè)靜態(tài)成員變量 ? final指明變量的值不能被修改 ? transient指明變量是臨時(shí)狀態(tài) ? volatile指明變量是一個(gè)共享變量 數(shù)據(jù)成員 (續(xù) ) 類 與 對(duì) 象 JAVA語言程序設(shè)計(jì) 清華大學(xué) 鄭莉 28 ? 實(shí)例變量 –沒有 static修飾的變量稱為實(shí)例變量(Instance Variables) –用來存儲(chǔ)所有實(shí)例都需要的屬性信息,不同實(shí)例的屬性值可能會(huì)不同 –可通過下面的表達(dá)式訪問實(shí)例屬性的值 實(shí)例名 .實(shí)例變量名 數(shù)據(jù)成員 (續(xù) ) —— 實(shí)例變量 類與對(duì)象 JAVA語言程序設(shè)計(jì) 清華大學(xué) 鄭莉 29 ? 聲明一個(gè)表示圓的類,保存在文件 中。 } public class ShapeTester { public static void main(String args[]) { Circle x。 y = new Rectangle()。 String streetName1,streetName2。 province1 = “Beijing。 //...do something interesting } 數(shù)據(jù)成員 (續(xù) ) —— 例 2_4 類與對(duì)象 JAVA語言程序設(shè)計(jì) 清華大學(xué) 鄭莉 37 –采用面向?qū)ο蟮某绦蛟O(shè)計(jì)方法,則需要首先聲明 Address類如下 public class Address { String name。 = 15。 = “Beijing。 = 。 pointCount++。 int radius。 double circum2 = ()。 double height。 (Rectangle has area + ())。 Circle c2 = new Circle()。 public double circumference() { return 2 * PI * radius。 = 15。 –默認(rèn)包(未命名的包) ?不含有包聲明的編譯單元是默認(rèn)包的一部分 類的組織 —— 包的概念 (續(xù) ) 類與對(duì)象 JAVA語言程序設(shè)計(jì) 清華大學(xué) 鄭莉 70 ? 包與目錄 – Java使用文件系統(tǒng)來存儲(chǔ)包和類 –包名就是文件夾名,即目錄名 –目錄名并不一定是包名 –用 javac編譯源程序時(shí),如遇到當(dāng)前目錄(包 )中沒有聲明的類,就會(huì)以環(huán)境變量classpath為相對(duì)查找路徑,按照包名的結(jié)構(gòu)來查找。 = 10。通常有兩類典型的方法用于訪問屬性值, get方法及 set方法 類成員的訪問控制 (續(xù) ) —— 例 2_11編譯 類與對(duì)象 JAVA語言程序設(shè)計(jì) 清華大學(xué) 鄭莉 78 ? get方法 – 功能是取得屬性變量的值 – get方法名以“ get”開頭,后面是實(shí)例變量的名字 – 一般具有以下格式: public fieldType getFieldName() { return fieldName。 int accountNumber。 accountNumber = initAccountNumber。但是,只要用戶聲明了構(gòu)造方法,即使沒有聲明無參的構(gòu)造方法,系統(tǒng)也不再賦默認(rèn)的構(gòu)造方法 構(gòu)造方法 (續(xù) ) —— 對(duì)象初始化和回收 JAVA語言程序設(shè)計(jì) 清華大學(xué) 鄭莉 91 ? 在例 2_13基礎(chǔ)上再聲明一個(gè)無參的構(gòu)造方法 public BankAccount() { ownerName = 。 } Tree(int i) { prt(Creating new Tree that is + i + feet tall)。 ()。 } 構(gòu)造方法 (續(xù) ) —— JAVA語言程序設(shè)計(jì) 清華大學(xué) 鄭莉 97 ? 內(nèi)存回收技術(shù) – 當(dāng)一個(gè)對(duì)象在程序中不再被使用時(shí),就成為一個(gè)無用對(duì)象 ? 當(dāng)前的代碼段不屬于對(duì)象的作用域 ? 把對(duì)象的引用賦值為空 – Java運(yùn)行時(shí)系統(tǒng) 通過 垃圾收集器 周期性地釋放無用對(duì)象所使用的內(nèi)存 – Java運(yùn)行時(shí)系統(tǒng) 會(huì)在對(duì)對(duì)象進(jìn)行自動(dòng)垃圾回收前,自動(dòng)調(diào)用對(duì)象的 finalize()方法 內(nèi)存回收技術(shù) 對(duì)象初始化和回收 JAVA語言程序設(shè)計(jì) 清華大學(xué) 鄭莉 98 ? 垃圾收集器 –自動(dòng)掃描對(duì)象的動(dòng)態(tài)內(nèi)存區(qū),對(duì)不再使用的對(duì)象做上標(biāo)記以進(jìn)行垃圾回收 –作為一個(gè)線程運(yùn)行 ?通常在系統(tǒng)空閑時(shí)異步地執(zhí)行 ?當(dāng)系統(tǒng)的內(nèi)存用盡或程序中調(diào)用 ()要求進(jìn)行垃圾收集時(shí),與系統(tǒng)同步運(yùn)行 內(nèi)存回收技術(shù) (續(xù) ) —— 垃圾收集器 對(duì)象初始化和回收 JAVA語言程序設(shè)計(jì) 清華大學(xué) 鄭莉 99 ? finalize()方法 – 在類 ,因此 Java中的每一個(gè)類都有該方法 – 用于釋放系統(tǒng)資源,如關(guān)閉打開的文件或 socket等 – 聲明格式 protected void finalize() throws throwable – 如果一個(gè)類需要釋放除內(nèi)存以外的資源,則需在類中重寫 finalize()方法 內(nèi)存回收技術(shù) (續(xù) ) —— finalize()方法 對(duì)象初始化和回收 JAVA語言程序設(shè)計(jì) 清華大學(xué) 鄭莉 100 ? 同 C和 C++的區(qū)別 – C語言中通過 free來釋放內(nèi)存 – C++中則通過 delete來釋放內(nèi)存 –在 C和 C++中,如果程序員忘記釋放內(nèi)存,則容易造成內(nèi)存泄漏甚至導(dǎo)致內(nèi)存耗盡 –在 Java中不會(huì)發(fā)生內(nèi)存泄漏情況,但對(duì)于其它資源,則有產(chǎn)生泄漏的可能性 內(nèi)存回收技術(shù) (續(xù) ) —— 同 C和 C++的區(qū)別 對(duì)象初始化和回收 JAVA語言程序設(shè)計(jì) 清華大學(xué) 鄭莉 101 ? 對(duì)銀行帳戶類 BankAccount進(jìn)行一系列修改和測(cè)試 –聲明 BankAccount類 –聲明 toString()方法 –聲明存取款方法 –使用 DecimalFormat類 –聲明類方法生成特殊的實(shí)例 –聲明類變量 應(yīng)用舉例 JAVA語言程序設(shè)計(jì) 清華大學(xué) 鄭莉 102 ? 包括狀態(tài)、構(gòu)造方法、 get方法及 set方法 public class BankAccount{ private String ownerName。 } public int getAccountNumber() { return accountNumber。 (Here is the account: + anAccount)。 – 如果需要特殊的轉(zhuǎn)換功能,則需要自己重寫toString()方法 。 (Account number: + ())。 } public void setOwnerName(String newName) { ownerName = newName。 private float balance。 } new Tree()。 } void info() { prt(Tree is + height + feet tall)。 balance = 。 } ? 假設(shè)一個(gè)新帳號(hào)的初始余額可以為 0,則可增加一個(gè)帶有兩個(gè)參數(shù)的構(gòu)造方法 public BankAccount(String initName, int initAc
點(diǎn)擊復(fù)制文檔內(nèi)容
教學(xué)課件相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1