版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
面向?qū)ο蟾拍罹夥诸悾篔ava1。 面向?qū)ο螅?。 抽象,3。 問(wèn)題領(lǐng)域,4。 對(duì)象,屬性,狀態(tài),方法,行為,實(shí)現(xiàn)5。 類,類型,6。 封裝,透明,7。 繼承,擴(kuò)展,重載,覆蓋,8。 多態(tài),動(dòng)態(tài)綁定,組合,9。 接口,10。 消息,服務(wù),面向?qū)ο缶幊痰?個(gè)原則:封裝(encapsulation)、繼承(inheritance)、多態(tài)性(polymorephism)封裝:將代碼及其處理的數(shù)據(jù)捆綁在一起的一種機(jī)制;繼承:一個(gè)對(duì)象獲得另一個(gè)對(duì)象的屬性的過(guò)程;多態(tài)性:一個(gè)接口,多種方法。一。面向?qū)ο竺嫦驒C(jī)器:早期計(jì)算機(jī)中運(yùn)行的程序大都是為特定的硬件系統(tǒng)專門設(shè)計(jì)的,稱為面向機(jī)器的程序。開發(fā)這類程序的語(yǔ)言稱為機(jī)器語(yǔ)言,也叫作低級(jí)語(yǔ)言或二進(jìn)制代碼語(yǔ)言。這類程序和運(yùn)行速度和效率都非常高,但是可讀性和可種植性及差,隨著軟件開發(fā)規(guī)模的擴(kuò)大,這類面向機(jī)器和程序逐漸被以Fortran,C等為代表的面向過(guò)程的程序所取代。面向過(guò)程:其中心思想是用計(jì)算機(jī)能夠理解的邏輯來(lái)描述和表達(dá)待解決的問(wèn)題及其具體的解決過(guò)程。數(shù)據(jù)結(jié)構(gòu)、算法是面向過(guò)程問(wèn)題求解的核心組成。其中數(shù)據(jù)結(jié)構(gòu)利用計(jì)算機(jī)的離散邏輯來(lái)量化表達(dá)需要解決的問(wèn)題,而算法則研究如何快捷、高效地組織解決問(wèn)題的具體過(guò)各。面向過(guò)程遵循面向過(guò)程的問(wèn)題求解方法??梢跃_、完備地描述具體的求解過(guò)程(這里的過(guò)程通常是指操作),但卻不足以把一個(gè)包含了多個(gè)相互關(guān)聯(lián)的過(guò)程的復(fù)雜系統(tǒng)表述清楚。面向?qū)ο螅好嫦驅(qū)ο蟮膶?shí)質(zhì)設(shè)計(jì)思想一一是要讓計(jì)算機(jī)邏輯來(lái)模擬現(xiàn)實(shí)世界的物理存在,即讓計(jì)算機(jī)世界向現(xiàn)實(shí)世界靠攏。就是使我們分析、設(shè)計(jì)、實(shí)現(xiàn)一個(gè)系統(tǒng)的方法盡可能地接近我們認(rèn)識(shí)一個(gè)系統(tǒng)的方法。很好地解決面向過(guò)程不能清楚表述的復(fù)雜系統(tǒng)。面向?qū)ο蟮膯?wèn)題求解包括:面向?qū)ο蟮姆治?OOA,Object-OrientedAnalysis)面向?qū)ο蟮脑O(shè)計(jì)(OOD,Object-OrientedDesign)面向?qū)ο蟮木幊?OOP,Object-OrientedProgramming),簡(jiǎn)單地說(shuō)就是描述對(duì)象之間的相互作用。面向過(guò)程與面向?qū)ο髤^(qū)別:面向過(guò)程,先確定算法再確定數(shù)據(jù)結(jié)構(gòu);習(xí)慣于建立數(shù)據(jù)結(jié)構(gòu)存放數(shù)據(jù),并定義函數(shù)(方法)來(lái)操作數(shù)據(jù);應(yīng)用程序單一,即所有功能都包含在幾個(gè)代碼模塊中(常常是一個(gè)代碼模塊);面向過(guò)程不允許自身定義數(shù)據(jù)類型,只能使用程序中內(nèi)置的數(shù)據(jù)類型。面向?qū)ο?,先確定數(shù)據(jù)結(jié)構(gòu)再確定算法;習(xí)慣于構(gòu)造一個(gè)對(duì)象模型,將數(shù)據(jù)與方法組織在一起;常常要使用很多模塊,每個(gè)模塊都提供特定的功能,每個(gè)模塊都是孤立的,甚至與其他模塊完全獨(dú)立。由類,對(duì)象,抽象,封裝,繼承,多態(tài)等特征構(gòu)成,可以自定義數(shù)據(jù)類型。掌握OOP的難點(diǎn),在于思想的轉(zhuǎn)換。我們習(xí)慣于考慮解決問(wèn)題的方法,而不是考慮將問(wèn)題抽象成模型再解決它。二。抽象抽象是科學(xué)研究中常用的一種思維方法,即指從特定角度出發(fā),從研究的事物中抽取與研究主旨有關(guān)的實(shí)質(zhì)性內(nèi)容或我們所關(guān)注的特性,形成一個(gè)新的事物的思維過(guò)程。面向過(guò)程語(yǔ)言中的過(guò)程抽象:是將整個(gè)系統(tǒng)的功能劃分為若干部分,強(qiáng)調(diào)功能完成的過(guò)程和步驟。面向?qū)ο笳Z(yǔ)言中的數(shù)據(jù)抽象:是把系統(tǒng)中要處理的數(shù)據(jù)和這些數(shù)據(jù)的操作結(jié)合在一起,根據(jù)功能、性質(zhì)、作用等因素抽象成不同的抽象數(shù)據(jù)類型。每個(gè)抽象數(shù)據(jù)類型既包含了數(shù)據(jù),也包含了數(shù)據(jù)的操作,更為嚴(yán)格、合理。抽象是一種由具體到抽象、由復(fù)雜到簡(jiǎn)結(jié)的思維方式。1。 從問(wèn)題領(lǐng)域的事物到軟件模型中對(duì)象的抽象;在建立對(duì)象模型時(shí),分析問(wèn)題領(lǐng)域中的實(shí)體,把它抽象為對(duì)象。(關(guān)注相關(guān)的屬性與功能)2。 從對(duì)象到類的抽象;在建立對(duì)象模型時(shí),把具有相同屬性和功能的對(duì)象抽象為類。3。 從子類到父類的抽象;當(dāng)一些類之間具有相同的屬性和功能時(shí),把這部分屬性和功能抽象到一個(gè)父類中。在Java中,抽象有兩種意思:?當(dāng)抽象作為動(dòng)詞時(shí),就是指上述的抽象思維過(guò)程。?當(dāng)抽象作為形容詞時(shí),可以用來(lái)修飾類和方法。若一個(gè)類被abstract修飾,則表明這個(gè)類不能被實(shí)例化,為抽象類;若一個(gè)方法被abstract修飾,則表明這個(gè)方法沒(méi)有具體的實(shí)現(xiàn),為抽象方法。三。問(wèn)題領(lǐng)域問(wèn)題領(lǐng)域,是指軟件系統(tǒng)所模擬的真實(shí)世界中的系統(tǒng)。隨著計(jì)算機(jī)技術(shù)的發(fā)展和普入,軟件系統(tǒng)滲透到社會(huì)的各個(gè)方面,幾乎可用來(lái)模擬任意一種問(wèn)題領(lǐng)域。如學(xué)校、醫(yī)院、商場(chǎng)、電影攝制組和太陽(yáng)系等。 《孫衛(wèi)琴?Java面向?qū)ο缶幊獭匪?。?duì)象一面向?qū)ο蠹夹g(shù)的核心所在。對(duì)象是對(duì)問(wèn)題領(lǐng)域中事物的抽象!對(duì)象具有如下特征:1。 萬(wàn)物皆為對(duì)象;問(wèn)題領(lǐng)域中的實(shí)體和概念都可以抽象為對(duì)象。2。 每個(gè)對(duì)象都是唯一的;對(duì)象的惟一性來(lái)自于真實(shí)世界中事物的惟一性。3。對(duì)象具有屬性和行為;對(duì)象的行為包括具有的功能及具體的實(shí)現(xiàn)。在建立對(duì)象模型時(shí),只關(guān)注對(duì)象有什么樣的功能,而不需要考慮如何實(shí)現(xiàn)這些功能。對(duì)象的屬性用成員變量表示,對(duì)象的行為用成員方法表示。4。 對(duì)象具有狀態(tài);狀態(tài)是指某個(gè)瞬間對(duì)象的各個(gè)屬性的取值。對(duì)象的某些行為往往會(huì)改變對(duì)象自身的狀態(tài),即屬性的取值。5。 對(duì)象都屬于某個(gè)類,每個(gè)對(duì)象都是某個(gè)類的實(shí)例。 《孫衛(wèi)琴?Java面向?qū)ο缶幊獭芬悦嫦驅(qū)ο蟮挠^點(diǎn)看來(lái),所有的面向?qū)ο蟮某绦蚨际怯蓪?duì)象來(lái)組成的,這些對(duì)象首先是自治的、自恰的,同時(shí)它們還可以互相通信、協(xié)調(diào)和配合,從而共同完成整個(gè)程序的任務(wù)和功能。更確切地,面向?qū)ο蠹夹g(shù)中的對(duì)象就是現(xiàn)實(shí)世界中某個(gè)具體的物理實(shí)體在計(jì)算機(jī)邏輯中的映射和體現(xiàn)。五。類一簡(jiǎn)單地說(shuō),類是同種對(duì)象的集合與抽象。類是一組具有相同屬性和行為的對(duì)象的抽象,或集合。類及類的關(guān)系構(gòu)成了對(duì)象模型的主要內(nèi)容。面向?qū)ο缶幊痰闹饕蝿?wù)就是定義對(duì)象模型中的各個(gè)類。類是對(duì)象的籃圖或模型,對(duì)象是類的實(shí)例。實(shí)例化一個(gè)類就是為該類創(chuàng)建一個(gè)對(duì)象。同一個(gè)類的所有實(shí)例具有相同屬性;同一個(gè)類的所有實(shí)例包括類本身的所有實(shí)例及其子類的所有實(shí)例。對(duì)象從類中產(chǎn)生出來(lái)!從類中創(chuàng)建出來(lái)的對(duì)象就擁有該類集成的所有屬性與方法。對(duì)象模型中的類實(shí)際上就是一種抽象的數(shù)據(jù)類型,是由程序員自定義的數(shù)據(jù)類型。是擁有相關(guān)的屬性與方法的類型。故可以使用類名稱來(lái)聲明對(duì)象變量,聲明對(duì)象變量必須使用new來(lái)創(chuàng)建對(duì)象,然后才能使用它。實(shí)際上,簡(jiǎn)單數(shù)據(jù)類型如char,int等都有它自己的屬性與方法。類是面向?qū)ο蟪绦蛑凶罨镜某绦騿卧?。定義類的最終目的是要使用它,像使用系統(tǒng)類一樣,程序也可以繼承用戶自定義的類或創(chuàng)建并使用自定義類的對(duì)象。創(chuàng)建對(duì)象的過(guò)程,就叫作實(shí)例化。類之間的關(guān)系:use-a:依賴關(guān)系has-a:聚合關(guān)系is-a:繼承關(guān)系一例:A類繼承了B類,此時(shí)A類不僅有了B類的方法,還有其自己的方法(個(gè)性存在于共性中)。六。封裝封裝是指隱藏對(duì)象的屬性和實(shí)現(xiàn)細(xì)節(jié),僅僅對(duì)外公開接口。這是面向?qū)ο蟮幕舅枷胫?!使用封裝的優(yōu)點(diǎn):1。 便于使用者正確,方便地理解和使用系統(tǒng),防止使用者錯(cuò)誤修改系統(tǒng)的屬性。2。 有助于建立各個(gè)系統(tǒng)之間的松耦合關(guān)系,提高系統(tǒng)的獨(dú)立性。3。 提高軟件的可重用性,每個(gè)系統(tǒng)都是一個(gè)相對(duì)獨(dú)立的整體,可以在多種環(huán)境中得到重用。4。 降低了構(gòu)建大型系統(tǒng)的風(fēng)險(xiǎn),即使整個(gè)系統(tǒng)不成功,個(gè)別的獨(dú)立子系統(tǒng)有可能依舊是有價(jià)值。一個(gè)設(shè)計(jì)良好的系統(tǒng)會(huì)封裝所有的實(shí)現(xiàn)細(xì)節(jié),把它的接口與實(shí)現(xiàn)清晰地隔離開來(lái),系統(tǒng)之間只通過(guò)接口進(jìn)行通信。面向?qū)ο蟮木幊陶Z(yǔ)言主要通過(guò)訪問(wèn)控制機(jī)制來(lái)進(jìn)行封裝,這種機(jī)制能控制對(duì)象的屬性和方法的可訪問(wèn)性。在Java語(yǔ)言中提供了以下4種訪問(wèn)控制級(jí)別。?public:對(duì)外公開,訪問(wèn)級(jí)別最高;?protected:只對(duì)同一個(gè)包中的類或者子類公開;?默認(rèn):只對(duì)同一個(gè)包中的類公開;?private:不對(duì)外公開,只能在對(duì)象內(nèi)部訪問(wèn),訪問(wèn)級(jí)別最低。哪些屬性和方法該公開,哪些該隱藏呢?封裝的兩個(gè)大致原則:1。 把盡可能多的東西藏起來(lái),對(duì)外提供簡(jiǎn)捷的接口。系統(tǒng)的封裝程度越高,那么它的相對(duì)獨(dú)立性就越高,使用就更方便。2。 把所有屬性藏起來(lái)。透明:對(duì)象封裝實(shí)現(xiàn)細(xì)節(jié),也就意味著對(duì)象的實(shí)現(xiàn)細(xì)節(jié)對(duì)使用者是透明的。透明在此處應(yīng)該理解為〃看不見〃。正如透明的玻璃窗讓人感覺不到它的存在一個(gè)道理。七。 繼承在父類和子類之間同時(shí)存在著繼承和擴(kuò)展關(guān)系。子類繼承了父類的屬性和方法,同時(shí),子類中還可以擴(kuò)展出新的屬性和方法,并且還可以覆蓋父類中方法的實(shí)現(xiàn)方式。覆蓋是指在子類中重新實(shí)現(xiàn)父類中的方法。方法重載(Overload):方法覆蓋(Override):八。 多態(tài)1。 多態(tài)的實(shí)質(zhì):當(dāng)系統(tǒng)A訪問(wèn)系統(tǒng)B的服務(wù)時(shí),系統(tǒng)B可以通過(guò)多種實(shí)現(xiàn)方式來(lái)提供服務(wù),而這一切對(duì)系統(tǒng)A是透明的。抽象機(jī)制,是開發(fā)人員在開發(fā)過(guò)程中使用的機(jī)制;動(dòng)態(tài)綁定機(jī)制,是Java虛擬機(jī)運(yùn)行時(shí)提供的機(jī)制。抽象機(jī)制和動(dòng)態(tài)綁定機(jī)制能共同提高系統(tǒng)之間的松耦合性。2。 組合是一種用多個(gè)簡(jiǎn)單子系統(tǒng)來(lái)組裝出復(fù)雜系統(tǒng)的有效手段。積塔木是個(gè)形象的比喻。3。 動(dòng)態(tài)綁定九。接口在Java語(yǔ)言中,接口有兩種意思:一是指概念性的接口;二是指程序中的接口類型。1。 概念性的接口:即指系統(tǒng)對(duì)外提供的所有服務(wù),在對(duì)象中表現(xiàn)為Public類型的方法的聲明。既然每個(gè)對(duì)象都是服務(wù)提供者,如何對(duì)外提供服務(wù)呢?對(duì)象通過(guò)接口對(duì)外提供服務(wù)。在現(xiàn)實(shí)世界中,接口也是實(shí)體,比如電源插口,電燈的開關(guān)等。而在面向?qū)ο蠓懂犞?,接口是一個(gè)抽象的概念,是指系統(tǒng)對(duì)外提供的所有服務(wù)。系統(tǒng)的接口描述系統(tǒng)能夠提供哪些服務(wù),但是不包含服務(wù)的實(shí)現(xiàn)細(xì)節(jié)。這里的系統(tǒng)既可以指整個(gè)軟件系統(tǒng),也可以指一個(gè)子系統(tǒng)。對(duì)象是最小的子系統(tǒng),每個(gè)對(duì)象都是服務(wù)提供者,因此每個(gè)對(duì)象都有接口。站在作用者的角度,對(duì)象中所有向使用者公開的方法的聲明構(gòu)成了對(duì)象的接口。使用者調(diào)用對(duì)象的公開方法來(lái)獲得服務(wù)。使用者在獲得服務(wù)時(shí),不必關(guān)心對(duì)象到底是如何實(shí)現(xiàn)服務(wù)的。(使用者,如果系統(tǒng)A訪問(wèn)系統(tǒng)B的服務(wù),那么系統(tǒng)A就是使用者,系統(tǒng)B就是服務(wù)提供者,或有時(shí)稱為系統(tǒng)A是系統(tǒng)B的客戶程序。)接口是提高系統(tǒng)之間松耦合的有力手段;接口也提高了系統(tǒng)的可擴(kuò)展性。2。 接口類型:(。。。。)指用interface關(guān)鍵字定義的實(shí)實(shí)在在的接口,它用于明確地描述系統(tǒng)對(duì)外提供的所有服務(wù),它能夠更加清晰地把系統(tǒng)的實(shí)現(xiàn)細(xì)節(jié)與接口分離。十。消息,服務(wù)軟件系統(tǒng)的復(fù)雜功能是由各種對(duì)象協(xié)同工作來(lái)共同完成的。每個(gè)對(duì)象都具有特定的功能,相對(duì)于其他對(duì)象而言,它的功能就是為其他對(duì)象提供的服務(wù)。一個(gè)對(duì)象為了獲得另一個(gè)對(duì)象的服務(wù),需要向那對(duì)象提出獲得特定服務(wù)的請(qǐng)求,提出請(qǐng)求的過(guò)程被稱為發(fā)送消息。對(duì)象提供的服務(wù)是由對(duì)象的方法來(lái)實(shí)現(xiàn)的,因此發(fā)送消息實(shí)際上也就是調(diào)用一個(gè)對(duì)象的方法。從使用者角度出發(fā),整個(gè)軟件系統(tǒng)就是一個(gè)服務(wù)提供者。操作軟件系統(tǒng)的用戶是系統(tǒng)的邊界。在UML語(yǔ)言中,系統(tǒng)邊界被稱為角色(Actor)。在系統(tǒng)內(nèi)部,每個(gè)子系統(tǒng)(對(duì)象或?qū)ο蟮慕M合)也都是服務(wù)提供者,它們?yōu)槠渌酉到y(tǒng)提供服務(wù),子系統(tǒng)之間通過(guò)發(fā)送消息來(lái)互相獲得服務(wù)。一個(gè)孤立的不對(duì)外提供任何服務(wù)的系統(tǒng)是沒(méi)的任何意義的。 《孫衛(wèi)琴?Java面向?qū)ο缶幊獭访嫦驅(qū)ο缶幊谈攀龊?jiǎn)單的說(shuō),面向?qū)ο缶幊蹋∣bjectOrientedProgramming,簡(jiǎn)稱OOP)描述的是對(duì)象之間的相互作用。面向?qū)ο缶幊膛c面向過(guò)程編程的區(qū)別:過(guò)程化程序設(shè)計(jì)先確定算法,再確定數(shù)據(jù)結(jié)構(gòu);面向?qū)ο缶幊滔却_定數(shù)據(jù)結(jié)構(gòu),再確定運(yùn)算。面向過(guò)程編程的程序員,習(xí)慣于建立數(shù)據(jù)結(jié)構(gòu)存放數(shù)據(jù)并定義方法(函數(shù))來(lái)操作數(shù)據(jù);面向?qū)ο缶幊痰某绦騿T則構(gòu)造一個(gè)對(duì)象模型,將數(shù)據(jù)與方法組織在一起對(duì)象對(duì)象的狀態(tài) 對(duì)象的行為我們可以把現(xiàn)實(shí)世界的事物抽象成對(duì)象。對(duì)象一般都有兩個(gè)特征:狀態(tài)(state)和行為(behavior)。軟件的對(duì)象概念是由現(xiàn)實(shí)世界對(duì)象抽象而來(lái)。把現(xiàn)實(shí)世界對(duì)象的狀態(tài)保存在軟件對(duì)象的變量中;現(xiàn)實(shí)世界對(duì)象的行為通過(guò)軟件對(duì)象的方法(函數(shù))來(lái)實(shí)現(xiàn)。類和對(duì)象把相似的對(duì)象劃歸成一個(gè)類。在軟件中,類,就是一個(gè)模板,它定義了通用于一個(gè)特定種類的所有對(duì)象的狀態(tài)(變量)和行為(方法)。類是創(chuàng)建對(duì)象的模板,對(duì)象是類的實(shí)例。面向?qū)ο蟪绦蛟O(shè)計(jì)從程序設(shè)計(jì)的角度看,類是面向?qū)ο蟪绦蛑凶罨镜某绦騿卧?。類?shí)質(zhì)上定義的是一種數(shù)據(jù)類型,這種數(shù)據(jù)類型就是對(duì)象類型。所以我們可以使用類名稱來(lái)聲明對(duì)象變量。聲明對(duì)象變量之后,還不能使用對(duì)象。必須用運(yùn)算符new創(chuàng)建對(duì)象實(shí)體之后,才能使用對(duì)象。面向?qū)ο缶幊痰碾y點(diǎn)掌握面向?qū)ο蟮睦щy之處在于思路的轉(zhuǎn)換。我們通常習(xí)慣于考慮解決問(wèn)題的方法,而不是考慮將問(wèn)題抽象成對(duì)象再去解決它。一個(gè)簡(jiǎn)單的例子:編寫一個(gè)駕駛汽車的方法面向過(guò)程的程序設(shè)計(jì):編寫一個(gè)方法,voiddrivecar();面向?qū)ο蟮某绦蛟O(shè)計(jì):將一輛汽車看成一個(gè)對(duì)象,將所有汽車對(duì)象的共性抽取出來(lái),設(shè)計(jì)一個(gè)類Car,類中有一個(gè)方法voiddrive(),用Car這個(gè)類實(shí)例化一個(gè)具體的對(duì)象car,調(diào)用:car.drive()。類的構(gòu)造方法構(gòu)造方法的名字和類名相同,并且沒(méi)有返回值。構(gòu)造方法主要用于為類的對(duì)象定義初始化狀態(tài)。我們不能直接調(diào)用構(gòu)造方法,必須通過(guò)new關(guān)鍵字來(lái)自動(dòng)調(diào)用,從而創(chuàng)建類的實(shí)例。Java的類都要求有構(gòu)造方法,如果沒(méi)有定義構(gòu)造方法,Java編譯器會(huì)為我們提供一個(gè)缺省的構(gòu)造方法,也就是不帶參數(shù)的構(gòu)造方法。new關(guān)鍵字的作用為對(duì)象分配內(nèi)存空間。引起對(duì)象構(gòu)造方法的調(diào)用。為對(duì)象返回一個(gè)引用。缺省構(gòu)造方法當(dāng)我們用缺省的構(gòu)造方法初始化對(duì)象時(shí),系統(tǒng)用默認(rèn)值初始化對(duì)象的成員變量。各種數(shù)據(jù)類型的默認(rèn)值為:數(shù)值型 0boolean falsechar ‘\0’對(duì)象 null方法的重載(overload)重載構(gòu)成的條件:方法的名稱相同,但參數(shù)類型或參數(shù)個(gè)數(shù)不同,才能構(gòu)成方法的重載。特殊變量thisthis變量代表對(duì)象本身當(dāng)類中有兩個(gè)同名變量,一個(gè)屬于類(類的成員變量),而另一個(gè)屬于某個(gè)特定的方法(方法中的局部變量),使用this區(qū)分成員變量和局部變量。使用this簡(jiǎn)化構(gòu)造函數(shù)的調(diào)用。關(guān)鍵字static靜態(tài)方法和靜態(tài)變量是屬于某一個(gè)類,而不屬于類的對(duì)象。靜態(tài)方法和靜態(tài)變量的引用直接通過(guò)類名引用。在靜態(tài)方法中不能調(diào)用非靜態(tài)的方法和引用非靜態(tài)的成員變量。反之,則可以??梢杂妙惖膶?duì)象obj去調(diào)用靜態(tài)的方法method。,如:obj.method()。常量的定義使用關(guān)鍵字final定義常量,例如:finaldoublePI=3.1415926;作為一種約定,在定義常量時(shí),通常采用大寫形式。final常量可以在聲明的同時(shí)賦初值,也可以在構(gòu)造函數(shù)中賦初值。為了節(jié)省內(nèi)存,我們通常將常量聲明為靜態(tài)的(static)。類的繼承理解繼承是理解面向?qū)ο蟪绦蛟O(shè)計(jì)的關(guān)鍵。在Java中,通過(guò)關(guān)鍵字extends繼承一個(gè)已有的類,被繼承的類稱為父類(超類,基類),新的類稱為子類(派生類)。在Java中,不允許多繼承。方法的覆蓋(override)在子類中定義一個(gè)與父類同名、返回類型、參數(shù)類型均相同一個(gè)方法,稱為方法的覆蓋。覆蓋發(fā)生在子類與父類之間。方法的覆蓋(override)在子類中定義一個(gè)與父類同名、返回類型、參數(shù)類型均相同一個(gè)方法,稱為方法的覆蓋。覆蓋發(fā)生在子類與父類之間。特殊變量super特殊變量super,提供了對(duì)父類的訪問(wèn)??梢允褂胹uper訪問(wèn)父類被子類隱藏的變量或覆蓋的方法。每個(gè)子類構(gòu)造方
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年二手鋼琴租賃合同(2篇)
- 2025年個(gè)人試用期勞動(dòng)合同樣本(三篇)
- 城市公園碎石配送保障協(xié)議
- 國(guó)際貿(mào)易攪拌車運(yùn)輸協(xié)議
- 化工品物流合同安全范本
- 專業(yè)物流合同模板
- 湖南實(shí)驗(yàn)室裝修合同樣本
- 產(chǎn)業(yè)扶持用地居間協(xié)議模板
- 旅游用地居間合同范本
- 會(huì)議室簡(jiǎn)易改造合同樣本
- 初中英語(yǔ)人教版 八年級(jí)上冊(cè) 單詞默寫表 漢譯英
- pcs-9611d-x說(shuō)明書國(guó)內(nèi)中文標(biāo)準(zhǔn)版
- 無(wú)人機(jī)航拍技術(shù)理論考核試題題庫(kù)及答案
- T∕CMATB 9002-2021 兒童肉類制品通用要求
- 工序勞務(wù)分包管理課件
- 工藝評(píng)審報(bào)告
- 中國(guó)滑雪運(yùn)動(dòng)安全規(guī)范
- 畢業(yè)論文-基于51單片機(jī)的智能LED照明燈的設(shè)計(jì)
- 酒廠食品召回制度
- 中職數(shù)學(xué)基礎(chǔ)模塊上冊(cè)第一章《集合》單元檢測(cè)試習(xí)題及參考答案
- 化學(xué)魯科版必修一期末復(fù)習(xí)98頁(yè)P(yáng)PT課件
評(píng)論
0/150
提交評(píng)論