芯靈思SinlinxA33開(kāi)發(fā)板安卓開(kāi)發(fā)-java語(yǔ)言基礎(四)
從抽象到類(lèi)
類(lèi):類(lèi)是組成Java程序的基本要素。類(lèi)封裝了一類(lèi)對象的狀態(tài)和方法。類(lèi)是用來(lái)定義對象的模板。
類(lèi)的實(shí)現包括兩部分:類(lèi)聲明和類(lèi)體?;靖袷綖椋?/span>
class 類(lèi)名 {
類(lèi)體的內容
}
class是關(guān)鍵字,用來(lái)定義類(lèi)?!癱lass 類(lèi)名”是類(lèi)的聲明部分,類(lèi)名必須是合法的Java標識符。兩個(gè)大括號以及之間的內容是類(lèi)體。
構建方法與對象的創(chuàng )建:類(lèi)是面向對象語(yǔ)言中最重用的一種數據類(lèi)型,那么就可以用它來(lái)聲明變量。在面向對象語(yǔ)言中,用類(lèi)聲明的變量被稱(chēng)作對象。和基本數據類(lèi)型不同,在用類(lèi)聲明對象后,還必須要創(chuàng )建對象,即為聲明的對象分配變量(確定對象所具有的屬性),當使用一個(gè)類(lèi)創(chuàng )建一個(gè)對象時(shí),也稱(chēng)給出了這個(gè)類(lèi)的一個(gè)實(shí)例。通俗的講,類(lèi)是創(chuàng )建對象的“模板”,沒(méi)有類(lèi)就沒(méi)有對象。構造方法和對象的創(chuàng )建密切相關(guān)。
構造方法:構造方法是一種特殊方法,它的名字必須與它所在的類(lèi)的名字完全相同,而且沒(méi)有類(lèi)型。
允許一個(gè)類(lèi)中編寫(xiě)若干個(gè)構造方法,但必須保證他們的參數不同,即參數的個(gè)數不同,或者是參數的類(lèi)型不同。
需要注意的是
(1) 如果類(lèi)中沒(méi)有編寫(xiě)構造方法,系統會(huì )默認該類(lèi)只有一個(gè)構造方法,該默認的構造方法是無(wú)參數的,且方法體中沒(méi)有語(yǔ)句。
(2)如果類(lèi)里定義了一個(gè)或多個(gè)構造方法,那么Java不提供默認的構造方法 。
創(chuàng )建對象:1.對象的聲明
一般格式為:
類(lèi)的名字 對象名字;如:
Vehicle car;
這里Vehicle是一個(gè)類(lèi)的名字,car是我們聲明的對象的名字。
2.為聲明的對象分配內存
使用new運算符和類(lèi)的構造方法為聲明的對象分配變量,即創(chuàng )建對象。如果類(lèi)中沒(méi)有構造方法,系統會(huì )調用默認的構造方法,默認的構造方法是無(wú)參數的,且方法體中沒(méi)有語(yǔ)句。如:
car=new Vehiclee();
使用對象:對象不僅可以操作自己的變量改變狀態(tài),而且能調用類(lèi)中的方法產(chǎn)生一定的行為。
通過(guò)使用運算符“.”,對象可以實(shí)現對自己變量的訪(fǎng)問(wèn)和方法的調用。
1.對象操作自己的變量(對象的屬性)
對象.變量;
2.對象調用類(lèi)中的方法(對象的功能)
對象.方法;
3.體現封裝
當對象調用方法時(shí),方法中出現的成員變量就是指分配給該對象的變量。
對象的引用和實(shí)體:類(lèi)是體現封裝的一種數據類(lèi)型,類(lèi)聲明的變量稱(chēng)做對象,對象中負責存放引用,以確保對象可以操作分配給該對象的變量以及調用類(lèi)中的方法。分配給對象的變量習慣地稱(chēng)做對象的實(shí)體。
1.避免使用空對象
沒(méi)有實(shí)體的對象稱(chēng)作空對象,空對象不能使用,即不能讓一個(gè)空對象去調用方法產(chǎn)生行為。
2.垃圾收集
一個(gè)類(lèi)聲明的兩個(gè)對象如果具有相同的引用,那么二者就具有完全相同的實(shí)體,而且Java有所謂“垃圾收集”機制,這種機制周期地檢測某個(gè)實(shí)體是否已不再被任何對象所擁有(引用),如果發(fā)現這樣的實(shí)體,就釋放實(shí)體占有的內存。
*博客內容為網(wǎng)友個(gè)人發(fā)布,僅代表博主個(gè)人觀(guān)點(diǎn),如有侵權請聯(lián)系工作人員刪除。
linux操作系統文章專(zhuān)題:linux操作系統詳解(linux不再難懂)物聯(lián)網(wǎng)相關(guān)文章:物聯(lián)網(wǎng)是什么
c語(yǔ)言相關(guān)文章:c語(yǔ)言教程
linux相關(guān)文章:linux教程
c++相關(guān)文章:c++教程