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

正文內(nèi)容

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

2024-11-14 15:00 本頁面
 

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