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

正文內(nèi)容

java語(yǔ)言程序設(shè)計(jì)基礎(chǔ)教程類(lèi)和對(duì)象ppt(編輯修改稿)

2024-11-14 15:00 本頁(yè)面
 

【文章內(nèi)容簡(jiǎn)介】 2。 ? } ? 不可以這樣做: ? class A { ? int a=12。 ? a=12。 //這么賦值是非法的 ? } ? 主要原因就是前面我們已經(jīng)介紹過(guò)的,類(lèi)體的內(nèi)容只有成員變量的定義和方法的定義兩部分,不允許有其他任何內(nèi)容。 ? 定義類(lèi)的最終目的是要使用這些類(lèi),創(chuàng)建并操縱某類(lèi)的對(duì)象是使用該類(lèi)的最主要手段。類(lèi)是創(chuàng)建對(duì)象的模板,類(lèi)實(shí)例化可生成對(duì)象,對(duì)象通過(guò)消息傳遞來(lái)進(jìn)行交互。消息傳遞即激活指定的某個(gè)對(duì)象的方法以改變其狀態(tài)或讓它產(chǎn)生一定的行為。一個(gè)對(duì)象的生命周期包括三個(gè)階段:生成、使用和消除。 ? 創(chuàng)建一個(gè)對(duì)象包括對(duì)象的聲明、實(shí)例化和初始化三個(gè)步驟。一般格式為: ? 類(lèi)名 對(duì)象名 = new 類(lèi)名 ([參數(shù) ])。 ? 1.聲明:類(lèi)名 對(duì)象名 ? 聲明并不為對(duì)象分配內(nèi)存空間,而只是分配一個(gè)引用空間;對(duì)象的引用類(lèi)似于指針,是 32位的地址空間,它的值指向一個(gè)中間的數(shù)據(jù)結(jié)構(gòu),它存儲(chǔ)有關(guān)數(shù)據(jù)類(lèi)型的信息以及當(dāng)前對(duì)象所在的堆的地址,而對(duì)于對(duì)象所在的實(shí)際的內(nèi)存地址是不可操作的,這就保證了安全性。 ? 2.實(shí)例化 ? 運(yùn)算符 new為對(duì)象分配內(nèi)存空間,它調(diào)用對(duì)象的構(gòu)造方法,返回引用。一個(gè)類(lèi)的不同對(duì)象分別占據(jù)不同的內(nèi)存空間。 ? 3.生成 ? 執(zhí)行構(gòu)造方法,進(jìn)行初始化;根據(jù)參數(shù)不同調(diào)用相應(yīng)的構(gòu)造方法。 【 例 35】 一個(gè)創(chuàng)建對(duì)象的示例。 ? class Student { ? float height, weight。 ? String head, ear, hand, foot, mouth。 ? void speak(String s) { ? (s)。 ? } ? } ? class A { ? public static void main(String args[]) { ? Student ZhangSan。 // 聲明對(duì)象 ? // 為對(duì)象分配內(nèi)存,使用 new 運(yùn)算符和默認(rèn)的構(gòu)造方法 ? ZhangSan = new Student()。 ? } ? } ? 使用 new運(yùn)算符和類(lèi)的構(gòu)造方法為聲明的對(duì)象分配內(nèi)存,如果類(lèi)中沒(méi)有構(gòu)造方法,系統(tǒng)會(huì)自動(dòng)調(diào)用默認(rèn)的構(gòu)造方法(默認(rèn)的構(gòu)造方法是無(wú)參數(shù)的,構(gòu)造方法的名字必須和類(lèi)名相同)。如果類(lèi)里面定義了一個(gè)或多個(gè)構(gòu)造方法,那么Java不提供默認(rèn)的構(gòu)造方法,必須使用類(lèi)里面定義的構(gòu)造方法,否則會(huì)報(bào)錯(cuò)。 ? 對(duì)象不僅可以改變自己變量的狀態(tài),而且還擁有使用創(chuàng)建它的那個(gè)類(lèi)中的方法的能力,對(duì)象通過(guò)使用這些方法可以產(chǎn)生一定的行為。通過(guò)運(yùn)算符“ .”可以實(shí)現(xiàn)對(duì)變量的訪(fǎng)問(wèn)和方法的調(diào)用。變量和方法可以通過(guò)設(shè)定訪(fǎng)問(wèn)權(quán)限來(lái)限制其它對(duì)象對(duì)它的訪(fǎng)問(wèn)。 1.對(duì)象操作自己的變量 ? 對(duì)象創(chuàng)建之后,就有了自己的變量,通過(guò)使用運(yùn)算符“ .”,對(duì)象可以實(shí)現(xiàn)對(duì)自己的變量的訪(fǎng)問(wèn),一般格式為: ? 對(duì)象引用 .變量 ? 對(duì)象引用是一個(gè)已生成的對(duì)象,也可以是能生成對(duì)象的表達(dá)式。例如: ? = 10。 ? tx = new Point( ).x。 2.對(duì)象調(diào)用類(lèi)中的方法 ? 除了可以操作自己的變量外,對(duì)象還可以通過(guò)運(yùn)算符“ .”調(diào)用創(chuàng)建它的類(lèi)中的方法,從而產(chǎn)生一定的行為功能,一般格式為: ? 對(duì)象引用 .方法名 ([參數(shù) ])。 ? 例如: ? (30,20)。 ? new Point().move(30,20)。 ? 當(dāng)對(duì)象調(diào)用方法時(shí),方法中出現(xiàn)的成員變量就是指該對(duì)象的成員變量,方法中的局部變量被分配內(nèi)存空間,方法執(zhí)行完畢,局部變量即可釋放內(nèi)存。局部變量聲明時(shí)如果沒(méi)有初始化,就沒(méi)有默認(rèn)值,因此在使用局部變量之前,要事先為其賦值。 ? 當(dāng)用類(lèi)創(chuàng)建一個(gè)對(duì)象時(shí),類(lèi)中的成員變量被分配內(nèi)存空間,這些內(nèi)存空間稱(chēng)為該對(duì)象的實(shí)體,而對(duì)象中存放著引用,以確保實(shí)體由該對(duì)象操作使用。 ? 如果一個(gè)類(lèi)創(chuàng)建的兩個(gè)對(duì)象具有相同的引用,那么就具有完全相同的實(shí)體。沒(méi)有實(shí)體的對(duì)象稱(chēng)為空對(duì)象,空對(duì)象不能使用,即不能讓一個(gè)空對(duì)象去調(diào)用方法產(chǎn)生行為。假如程序中使用了空對(duì)象,在運(yùn)行時(shí)會(huì)出現(xiàn)異常: NullPointerException。但由于對(duì)象是動(dòng)態(tài)地分配實(shí)體,所以 Java的編譯器對(duì)空對(duì)象不做檢查,在編寫(xiě)程序時(shí)要避免使用空對(duì)象。 【 例 37】 對(duì)象引用和實(shí)體的示例。 ? class Point { ? int x, y。 ? Point(int a, int b) { ? x = a。 ? y = b。 ? } ? } ? public class ep3_7 { ? public static void main(String args[]) { ? Point p1, p2。 // 聲明對(duì)象 p1和 p2 ? p1 = new Point(10, 10)。 // 為對(duì)象分配內(nèi)存,使用 new 和類(lèi)中的構(gòu)造方法 ? p2 = new Point(23, 35)。 // 為對(duì)象分配內(nèi)存,使用 new 和類(lèi)中的構(gòu)造方法 ? (p1 == p2)。 ? p1 = p2。 ? (p1 == p2)。 ? } ? } ? 當(dāng)方法被調(diào)用時(shí),如果方法有參數(shù),參數(shù)必須要實(shí)例化,即參數(shù)變量必須有具體的值。在Java中,方法的所以參數(shù)都是“傳值”的,也就是說(shuō),方法中的參數(shù)變量的值是調(diào)用者指定的值的副本。例如,如果向方法的 int類(lèi)型參數(shù)x傳遞一個(gè)值,那么參數(shù) x得到的值是傳遞值的副本。方法如果改變參數(shù)的值,不會(huì)影響向參數(shù)“傳值”的變量的值。 1.基本數(shù)據(jù)類(lèi)型參數(shù)的傳值 ? 基本數(shù)據(jù)類(lèi)型的參數(shù),向該參數(shù)傳遞的值的級(jí)別不可以高于該參數(shù)的級(jí)別,比如,不可以向int類(lèi)型參數(shù)傳遞一個(gè) float值,但可以向 double類(lèi)型參數(shù)傳遞一個(gè) float值。 2.引用類(lèi)型參數(shù)的傳值 ? Java的引用類(lèi)型數(shù)據(jù)包括對(duì)象、數(shù)組和接口,當(dāng)參數(shù)是引用類(lèi)型時(shí),“傳值”傳遞的是變量的引用而不是變量所引用的實(shí)體。如果改變參數(shù)變量所引用的實(shí)體,就會(huì)導(dǎo)致原變量的實(shí)體發(fā)生同樣的變化,但是如果改變參數(shù)的引用不會(huì)影響向其傳值的變量的引用。 【 例 38】 引用類(lèi)型和基本數(shù)據(jù)類(lèi)型參數(shù)區(qū)別的示例。 ? class People { ? String face。 ? void setFace(String s) { ? face = s。 ? } ? } ? class C { ? void f(int x, double y, People p) { ? x = x + 1。 ? y = y + 1。 ? (笑臉 )。 ? (參數(shù) x和 y的值分別是 : + x + , + y)。 ? (參數(shù)對(duì)象 p的 face是 : + )。 ? } ? } ? public class ep3_8 { ? public static void main(String args[]) { ? int x = 100。 ? double y = 。 ? People zhang = new People()。 ? (很?chē)?yán)肅的樣子 )。 ? C a = new C()。 ? (x, y, zhang)。 ? (main方法中 x和 y的值仍然分別是 : + x + , + y)。 ? (main方法中對(duì)象 zhang的 face是 : + )。 ? } ? } ? Java有所謂的“垃圾收集”機(jī)制,這種機(jī)制周期地檢測(cè)某個(gè)實(shí)體是否已不再被任何對(duì)象所擁有。當(dāng)不存在對(duì)一個(gè)對(duì)象的引用時(shí),該對(duì)象成為一個(gè)無(wú)用對(duì)象。 Java 的垃圾收集器自動(dòng)掃描對(duì)象的動(dòng)態(tài)內(nèi)
點(diǎn)擊復(fù)制文檔內(nèi)容
教學(xué)課件相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖片鄂ICP備17016276號(hào)-1