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