[color=rgb(68, 68, 6  ] 從抽象到類[color=rgb(68, 68, 6  ] [color=rgb(68, 68, 6  ] 類:類是組成Java程序的基本要素。類封裝了一類對象的狀態(tài)和方法。類是用來定義對象的模板。[color=rgb(68, 68, 6  ] 類的實(shí)現(xiàn)包括兩部分:類聲明和類體;靖袷綖椋[color=rgb(68, 68, 6  ] class類名 {[color=rgb(68, 68, 6  ] 類體的內(nèi)容[color=rgb(68, 68, 6  ] }[color=rgb(68, 68, 6  ] class是關(guān)鍵字,用來定義類。“class 類名”是類的聲明部分,類名必須是合法的Java標(biāo)識符。兩個大括號以及之間的內(nèi)容是類體。
[color=rgb(68, 68, 6  ] 構(gòu)建方法與對象的創(chuàng)建:類是面向?qū)ο笳Z言中最重用的一種數(shù)據(jù)類型,那么就可以用它來聲明變量。在面向?qū)ο笳Z言中,用類聲明的變量被稱作對象。和基本數(shù)據(jù)類型不同,在用類聲明對象后,還必須要創(chuàng)建對象,即為聲明的對象分配變量(確定對象所具有的屬性),當(dāng)使用一個類創(chuàng)建一個對象時,也稱給出了這個類的一個實(shí)例。通俗的講,類是創(chuàng)建對象的“模板”,沒有類就沒有對象。構(gòu)造方法和對象的創(chuàng)建密切相關(guān)。[color=rgb(68, 68, 6  ] 構(gòu)造方法:構(gòu)造方法是一種特殊方法,它的名字必須與它所在的類的名字完全相同,而且沒有類型。允許一個類中編寫若干個構(gòu)造方法,但必須保證他們的參數(shù)不同,即參數(shù)的個數(shù)不同,或者是參數(shù)的類型不同。 需要注意的是 (1) 如果類中沒有編寫構(gòu)造方法,系統(tǒng)會默認(rèn)該類只有一個構(gòu)造方法,該默認(rèn)的構(gòu)造方法是無參數(shù)的,且方法體中沒有語句。 (2)如果類里定義了一個或多個構(gòu)造方法,那么Java不提供默認(rèn)的構(gòu)造方法 。 創(chuàng)建對象:1.對象的聲明 一般格式為: 類的名字 對象名字;如: Vehiclecar; 這里Vehicle是一個類的名字,car是我們聲明的對象的名字。
2.為聲明的對象分配內(nèi)存 使用new運(yùn)算符和類的構(gòu)造方法為聲明的對象分配變量,即創(chuàng)建對象。如果類中沒有構(gòu)造方法,系統(tǒng)會調(diào)用默認(rèn)的構(gòu)造方法,默認(rèn)的構(gòu)造方法是無參數(shù)的,且方法體中沒有語句。如: car=newVehiclee(); 使用對象:對象不僅可以操作自己的變量改變狀態(tài),而且能調(diào)用類中的方法產(chǎn)生一定的行為。 通過使用運(yùn)算符“.”,對象可以實(shí)現(xiàn)對自己變量的訪問和方法的調(diào)用。 1.對象操作自己的變量(對象的屬性) 對象.變量; 2.對象調(diào)用類中的方法(對象的功能) 對象.方法; 3.體現(xiàn)封裝 當(dāng)對象調(diào)用方法時,方法中出現(xiàn)的成員變量就是指分配給該對象的變量。 對象的引用和實(shí)體:類是體現(xiàn)封裝的一種數(shù)據(jù)類型,類聲明的變量稱做對象,對象中負(fù)責(zé)存放引用,以確保對象可以操作分配給該對象的變量以及調(diào)用類中的方法。分配給對象的變量習(xí)慣地稱做對象的實(shí)體。 1.避免使用空對象 沒有實(shí)體的對象稱作空對象,空對象不能使用,即不能讓一個空對象去調(diào)用方法產(chǎn)生行為。 2.垃圾收集 一個類聲明的兩個對象如果具有相同的引用,那么二者就具有完全相同的實(shí)體,而且Java有所謂“垃圾收集”機(jī)制,這種機(jī)制周期地檢測某個實(shí)體是否已不再被任何對象所擁有(引用),如果發(fā)現(xiàn)這樣的實(shí)體,就釋放實(shí)體占有的內(nèi)存。
|