這篇文章主要講解了“Java對象的知識點有哪些”,文中的講解內(nèi)容簡單清晰,易于學(xué)習(xí)與理解,下面請大家跟著小編的思路慢慢深入,一起來研究和學(xué)習(xí)“Java對象的知識點有哪些”吧!
成都創(chuàng)新互聯(lián)公司服務(wù)項目包括江西網(wǎng)站建設(shè)、江西網(wǎng)站制作、江西網(wǎng)頁制作以及江西網(wǎng)絡(luò)營銷策劃等。多年來,我們專注于互聯(lián)網(wǎng)行業(yè),利用自身積累的技術(shù)優(yōu)勢、行業(yè)經(jīng)驗、深度合作伙伴關(guān)系等,向廣大中小型企業(yè)、政府機構(gòu)等提供互聯(lián)網(wǎng)行業(yè)的解決方案,江西網(wǎng)站推廣取得了明顯的社會效益與經(jīng)濟效益。目前,我們服務(wù)的客戶以成都為中心已經(jīng)輻射到江西省份的部分城市,未來相信會繼續(xù)擴大服務(wù)區(qū)域并繼續(xù)獲得客戶的支持與信任!
1、問題的復(fù)雜性直接取決于抽象的類型和質(zhì)量,同一個問題,如果抽象的方法不同或質(zhì)量不同,解決時的復(fù)雜性可能有很大差距
2、面向?qū)ο笏枷氲膶嵸|(zhì)是:程序可以通過添加新類型的對象使自身適用于某個特定問題
3、面向?qū)ο蟪绦蛟O(shè)計方式的五個基本特性(最初來自smalltalk)
a、萬物皆為對象/Everything is an object.
b、程序是對象的集合,它們彼此通過發(fā)送消息來調(diào)用對方/A program is a bunch of objects telling each other what to do by sending messages.
c、每個對象都擁有由其它對象所構(gòu)成的存儲/Each object has its own memory made up of other objects.
d、每個對象都擁有其類型(type)/Every object has a type.
e、某一個特定類型的所有對象都可以接收(receive)同樣的消息/All objects of a particular type can receive the same messages
[@more@]
4、類:具有相同特性(數(shù)據(jù)元素)和行為(功能)的對象集合。
5、接口定義了你能夠?qū)δ骋惶囟▽ο蟀l(fā)出的請求
6、對象應(yīng)被看作服務(wù)提供者
7、訪問控制的原因:
a、讓客戶端程序員(類消費者)無法觸及他們不應(yīng)該觸及的部分
b、允許庫設(shè)計者(類創(chuàng)建者)可以改變類內(nèi)部的工作方式而不用擔(dān)心是否會影響到客戶端程序員
8、三個訪問指定詞(access specifier):public、private、protected
9、public:任何人都可以使用;
private:除了類創(chuàng)建者和類的內(nèi)部方法外,任何人都不能訪問;
protected:與private類似,差別在于繼承類可以訪問父類的protected成員,但不能訪問private成員;
還有一種缺省訪問權(quán)限為package,此權(quán)限下,類可以訪問在同一個包中的其它類成員,但是在包外,這些成員如同private一樣
10、試圖訪問private成員,會得到編譯時錯誤
11、組合,即使用現(xiàn)有類來合成新的類;聚合,即動態(tài)發(fā)生的組合;
12、建立新類時,應(yīng)優(yōu)先考慮組合,之后才是繼承
13、繼承一個類而不去重新定義繼承到的方法(即不去重載),那么在基類接口中的方法將會被直接繼承到導(dǎo)出類中
14、子類與父類相比,沒有添加新方法,則稱二者關(guān)系為"is-a";如果添加了新方法,則為"is-like-a"
15、非面向?qū)ο缶幾g器產(chǎn)生函數(shù)調(diào)用都是使用前期綁定的,即鏈接器將這個調(diào)用解析到將要被執(zhí)行代碼的絕對地址;而在OOP中,程序直到運行時刻才能確定代碼的地址,編譯時只是確保被調(diào)用的方法存在,并對調(diào)用參數(shù)和返回值執(zhí)行類型檢查(能夠提供此類保證的為強類型語言,不能提供的為弱類型語言-weakly typed),但并不知道將會被執(zhí)行的確切代碼。
16、C++中,使用virtual關(guān)鍵字來明確聲明希望某個方法使用動態(tài)綁定,而缺省狀況下不是動態(tài)綁定的;在JAVA中,動態(tài)綁定是缺省行為
17、abstract關(guān)鍵字把類標(biāo)識為抽象類,抽象類不能創(chuàng)建對象,否則會產(chǎn)生編譯時錯誤
18、abstract關(guān)鍵字還可以用來描述尚未被實現(xiàn)的方法,即抽象方法,它的含義為:這是一個從此類中繼承出的所有類型都具有的接口方法,但是此刻我沒有為它設(shè)計任何具體實現(xiàn);抽象方法只能在抽象類內(nèi)部創(chuàng)建,該類被繼承時,抽象方法必須被實現(xiàn),否則繼承類仍然是抽象類(即繼承類也必須由abstract關(guān)鍵字修飾,編譯器將會檢查這一點)。抽象方法的意義在于:你可以將一個方法置于接口中,而不必被迫為此方法提供可能毫無意義的方法體。
19、接口(interface)中不允許有任何方法體定義,即所有方法都是抽象的,但并不需要特別聲明abstract關(guān)鍵字,抽象程序的順序為:普通類<抽象類<接口
20、一般來說在JAVA中,需要多少對象,對象的生命周期,以及對象的具體類型,都要到運行時才能真正確定
21、容器,是一種很有用的概念,也可以說是一種思考方式,對象的個數(shù)、類型、生命周期,都可以通過為對象設(shè)置容器的方法來控制,簡單來說,一個數(shù)組就是數(shù)組中每個元素的容器。這種方式在各種語言中都被普遍使用,在C++中,容器是標(biāo)準C++類庫(也叫做標(biāo)準模板類庫,Standard Template Library,STL)的一部分
22、List類,列表,用于存儲序列;Map類,散列表,也叫作關(guān)聯(lián)數(shù)組,用于建立對象之間的關(guān)聯(lián);Set類,集,用于存儲一類對象
23、單根繼承結(jié)構(gòu):所有的類最終都繼承自單一的基類,即Object類,所以可以存儲Object的容器可以存儲任何東西(不包括基本類型)
24、因為有了單根繼承結(jié)構(gòu)和通過引用來操作對象的系統(tǒng)特性,垃圾回收器才能夠?qū)崿F(xiàn)
25、我們不知道垃圾回收何時啟動并將持續(xù)多久,所以同一個JAVA程序的執(zhí)行速度可能會出現(xiàn)前后不一致的情況,因此在某些強調(diào)程序執(zhí)行速度一致的場合就不能使用它,比如較嚴格的實時程序
26、JAVA的異常處理是內(nèi)置的、強制使用的,如果沒有編寫正確的異常處理代碼,將會得到編譯時錯誤
27、異常處理不是面向?qū)ο蟮奶卣?,在面向?qū)ο笳Z言出現(xiàn)前,異常處理就已經(jīng)存在了
28、通常,多線程只是一種為單一處理器分配執(zhí)行時間的手段,但是如果是在多處理器環(huán)境,那么每個線程都可以被指派給不同的處理器,那樣才是真正的并行執(zhí)行;語言級別上多線程的好處之一就是程序員不用關(guān)心機器上有多個還是一個處理器
29、Java提供對輕量級持久性(lightweight persistent)的支持,稱為輕量級,是因為仍然需要創(chuàng)建顯式的調(diào)用來執(zhí)行存儲和取回操作,輕量級持久性是通過對象序列化(object serialization)或Java數(shù)據(jù)對象(JDO,Java Data Object)來實現(xiàn)的
30、客戶/服務(wù)器系統(tǒng)的核心思想是:系統(tǒng)具有一個中央信息存儲池(central repository of information),用來存儲某種數(shù)據(jù),它通常存在于數(shù)據(jù)庫中,信息與軟件的宿主機器(或機器集群)被稱為服務(wù)器(server),信息可以根據(jù)需要被分發(fā)給某個人員或機器集群(client)
31、插件,客戶端下載一段代碼,并將其插入到瀏覽器中適當(dāng)?shù)奈恢?,以此來為瀏覽器添加新功能。
32、腳本語言,可以將客戶端程序的源代碼直接嵌入到HTML頁面中去,解釋這種語言的插件在HTML頁面被顯示時將自動激活(需要瀏覽器支持此種腳本語言才行),優(yōu)點是當(dāng)服務(wù)器收到要獲取該個頁面的請求時,它們可以被快速加載,缺點是這些代碼將被暴露給任何人看
33、Java applet勝過腳本語言的優(yōu)勢是,它是以編譯過的形式存在的,因此源代碼對于客戶端來說是不可見的,當(dāng)然,如果你真的想反編譯它,也不需要花費多少力氣;注意如果applet編譯后很大的話,可能需要額外的時間去下載它,而腳本語言程序是集成到Web頁面中的,通常比較小,因此在需要考慮網(wǎng)站相應(yīng)能力時,應(yīng)該優(yōu)先使用腳本語言
感謝各位的閱讀,以上就是“Java對象的知識點有哪些”的內(nèi)容了,經(jīng)過本文的學(xué)習(xí)后,相信大家對Java對象的知識點有哪些這一問題有了更深刻的體會,具體使用情況還需要大家實踐驗證。這里是創(chuàng)新互聯(lián),小編將為大家推送更多相關(guān)知識點的文章,歡迎關(guān)注!