java編程思想 第一章學習筆記

第一章 筆記

引言

  1. 《java編程思想》的初衷是面向自學人員的往核,如果你不會c/c++語言也不用的擔心箫爷。
  2. 書本的章節(jié)由作者精心安排,每章節(jié)都有重點聂儒,而且有練習的間隔時間,能給讀者提供扎實的基礎硫痰。

章節(jié)設計

  1. 對象對門 對象的概念
  2. 一切皆對象 java是怎么去表達對象的衩婚,說人話就是用代碼怎么去寫對象
  3. 控制程序流程 主要是三大結構,每種語言都有效斑,不同的是java有標簽式break和contiune非春,其實 go也有這個
  4. 初始化和清除 主要是java中的構造函數(shù)和垃圾回收器,說理論點就是 對內存的分配和釋放,特別是垃圾回收算法可以去深入了解
  5. 隱藏實現(xiàn)過程 自我理解--封裝性
  6. 類再生 類的繼承性 可以很好的服用代碼等優(yōu)點
  7. 多形性 多態(tài)性奇昙,护侮,類似go中有種duck-typing的編程思想
  8. 對象的容納 java的集合框架,說人話就是java自帶的封裝好的數(shù)據(jù)結構 一般都是 stack queue hashtable hashmap 之類的
  9. 違例差錯控制 java的異常處理機制储耐。
  10. java IO系統(tǒng) io是計算機內存和外設的數(shù)據(jù)流動 網(wǎng)絡IO這是一種特殊的IO java里面的IO則是以流的方式來處理羊初,關于流理解的不是很深刻,則需要后續(xù)多理解理解什湘。
  11. 運行期類型鑒定 也就是java的反射機制长赞,還需要后續(xù)的深入理解
  12. 傳遞和返回對象 主要涉及句柄的知識
  13. javaGUI 不重要
  14. 多線程 深入理解多線程,學會java對多線程的表達闽撤,清楚IO密集型 計算密集型 合理運用多線程
  15. 網(wǎng)絡編程 也就是socket編程得哆, java從BIO-》NIO-》AIO-》netty
  16. 涉及范式 書上說的是舉一個例子然后對方案不對的改革,體會到使設計思路變得清晰起來的一種途徑哟旗, 我可能會理解成設計模式
  17. 項目 對前面知識的應用和擴展

第一章 閱讀總結 -- 對象入門

1.1 抽象的進步

優(yōu)點:對管理人員贩据,更快和更廉價的開發(fā)和維護過程,對建模處理變得更加簡單闸餐,能生成更加簡單饱亮、易于維護的的設計方案。 缺點:學習成本高绎巨,設計出優(yōu)秀的重復性使用的類是具有挑戰(zhàn)性的近尚,對初入門面對對象編程的人員是一個痛苦的選擇。

第一章作者會來后面來證明面對對象是多么的簡單场勤。從思想上解釋面對對象程序設計戈锻。

匯編是對計算機本體,計算機組織結構的抽象和媳。 BASIC和C等是對匯編的更加抽象格遭,但是并沒有屏蔽掉開發(fā)人員對計算機組成原理的認識, java在這基礎上(c等低級語言)的抽象留瞳,我覺得也可以理解成封裝拒迅,把復雜的東西封裝起來,給開發(fā)人員調用就行了她倘,不需要他們k 4. 每個對象都擁有其類型 5. 某一特定類型的所有對象都可以接受同樣的消息璧微。

1.2 每個對象都有一個接口

面向對象語言,實際上是創(chuàng)建新的數(shù)據(jù)類型硬梁,-- 可以對應到C的結構體前硫。 類描述了相同特性和行為的對象集合,所以類實際上就是一個數(shù)據(jù)類型荧止,我以前最開始再理解C的結構體的時候就是把結構體理解成一種開發(fā)者自定義的數(shù)據(jù)類型屹电。

向某個對象發(fā)送消息就是調用某個對象的方法阶剑,

UML的設計

1.3 每個對象都提供服務

試圖開發(fā)或者理解程序設計師,最好的方法之一就是將對象想象為“服務提供者”危号。

代碼是的設計可以先從程序提供了什么服務開始思考牧愁,設計程序應該有什么類,不同的類分別提供了什么服務等外莲。猪半。。這樣還能簡化別人使用你的代碼的學習成本

1.4 被隱藏的具體實現(xiàn)

用一些權限修飾符苍狰,限制某些成員的權限办龄,權限不能給的太大,也不能給的太小淋昭。public private protected (還有一種默認的權限) public 》 protected》(default)》private

1.5 復用具體實現(xiàn)

一個被設計完并測試完的類是可以復用的俐填,代碼復用是java中提供的一個了不起的優(yōu)點之一。 最簡單的使用就是:實例化某個提供的類翔忽,也可以說成是創(chuàng)建一個對象(組合)英融,其次是可以 繼承類實現(xiàn)接口

1.6 繼承

繼承應該是復用代碼最常用的方式了,我們不但可以繼承父類已有的數(shù)據(jù)方法歇式,還可以增加和修改父類的方法驶悟,但是同時也有弊端,如果你修改了基類(也可以稱作父類材失,超類)痕鳍,就可以影響被繼承的類。

垃圾回收的例子 -- 以垃圾為基類 幾何圖形的例子 --

導出類繼承了基類后龙巨,不但復制了基類的數(shù)據(jù)和方法笼呆,更重要的是復制了基類的接口(這里的接口指的是對象的方法),同時可以發(fā)送給基類對象的消息也可以發(fā)送給導出類 一個圓同時也是一個幾何圖形旨别,同時體現(xiàn)了 多態(tài)性

1.6.1 “是一個” 與 “像是一個” 關系

舉例 圓是繼承于幾何圖形的诗赌,我們就可以說:一個圓就是一個幾何圖形。判斷繼承就要用:is-a來描述類之間的關系秸弛。 一般我們在新的導出類中添加了新的接口铭若,也就是拓展了接口,我們就可以這樣來描述基類和導出類的關系:is-like-a递览,舉例叼屠,如果你家的空調(為了制冷)壞了,你去買一個熱力泵替換他(熱力泵既可以制冷也可以制熱)绞铃,這時候我們就可以說:空調 is-like-a 熱力泵

1.7 伴隨多態(tài)的可互換對象

闡述我對前期綁定(編譯階段決定)环鲤,和后期綁定(運行階段決定)的理解 (重點闡述) 因為java本身自動支持了后期綁定(在運行階段確定),所以天然支持多態(tài)

上轉型下轉型

1.8 單繼承結構

所有的類都是繼承于 Object 類憎兽,單繼承結構是有一定的好處的(代碼兼容性) 單繼承也使得垃圾回收變得更加容易冷离,-- 可以拓展出去,理解下堆內存和棧內存纯命,和棧數(shù)據(jù)結構西剥。(堆,棧亿汞,堆棧)

1.9 容器

說得比較抽象一點可以稱作“容器”瞭空,再具體一點可以叫做數(shù)組或者鏈表,再具體一點就是 一片內存空間 比如在CPP中就是 STL疗我,java中也有很多滿足不同需求的容器咆畏,比如:List,Map吴裤,Set,其實本質上就是對數(shù)據(jù)結構中常用結構的封裝旧找,或者叫實現(xiàn)。

java中有各種各樣的容器麦牺,需要我們針對不同的需求和場景選擇不同的容器

1.9.1 參數(shù)化類型

泛型--在容器中如果不適用泛型钮蛛,就會有向上轉型和向下轉型, 在java中所有的類都繼承于 Object 類剖膳,golang中魏颓,所有的結構體都實現(xiàn)了 interface{} 空結構體,這是比較相似的吱晒。 但是為什么go不提供泛型呢甸饱?可以思考

1.10 對象的創(chuàng)建和生命周期

對于自帶垃圾回收的語言,一個好的垃圾回收機制對程序的執(zhí)行效率來說是非常重要的仑濒, 棧上的內存效率遠高于堆上的內存叹话,

1.11 異常處理,處理錯誤

大多數(shù)錯誤處理的機制的主要問題在于躏精,他們都依賴于程序員的自我警惕性渣刷,可以對比go和java的異常處理 異常處理不是面向對象的特征,在面向對象出來之前就已經(jīng)存在了矗烛。

java中本身就內置了異常處理辅柴,并強制要求使用,不然編譯器就會報錯瞭吃。

1.12 并發(fā)編程

在java中的并發(fā)編程往往都是通過多線程來解決碌嘀,在go中往往都是通過多協(xié)程來解決。 隨之而來的就是對臨界資源的競爭問題歪架,然后就會談到鎖股冗。

1.13 Java與Internet

java Web的發(fā)展歷史,看看就行了

1.14 總結

雖然初學OOP可能比較惱火和蚪,但是對于一個設計良好的程序中止状,面對對象的代碼量會更少烹棉,理解起來也更容易。

?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
  • 序言:七十年代末怯疤,一起剝皮案震驚了整個濱河市浆洗,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌集峦,老刑警劉巖伏社,帶你破解...
    沈念sama閱讀 210,978評論 6 490
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異塔淤,居然都是意外死亡摘昌,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 89,954評論 2 384
  • 文/潘曉璐 我一進店門高蜂,熙熙樓的掌柜王于貴愁眉苦臉地迎上來聪黎,“玉大人,你說我怎么就攤上這事妨马⊥伲” “怎么了?”我有些...
    開封第一講書人閱讀 156,623評論 0 345
  • 文/不壞的土叔 我叫張陵烘跺,是天一觀的道長湘纵。 經(jīng)常有香客問我,道長滤淳,這世上最難降的妖魔是什么梧喷? 我笑而不...
    開封第一講書人閱讀 56,324評論 1 282
  • 正文 為了忘掉前任,我火速辦了婚禮脖咐,結果婚禮上铺敌,老公的妹妹穿的比我還像新娘。我一直安慰自己屁擅,他們只是感情好偿凭,可當我...
    茶點故事閱讀 65,390評論 5 384
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著派歌,像睡著了一般弯囊。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上胶果,一...
    開封第一講書人閱讀 49,741評論 1 289
  • 那天匾嘱,我揣著相機與錄音,去河邊找鬼早抠。 笑死霎烙,一個胖子當著我的面吹牛,可吹牛的內容都是我干的。 我是一名探鬼主播悬垃,決...
    沈念sama閱讀 38,892評論 3 405
  • 文/蒼蘭香墨 我猛地睜開眼游昼,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了盗忱?” 一聲冷哼從身側響起酱床,我...
    開封第一講書人閱讀 37,655評論 0 266
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎趟佃,沒想到半個月后,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體昧捷,經(jīng)...
    沈念sama閱讀 44,104評論 1 303
  • 正文 獨居荒郊野嶺守林人離奇死亡闲昭,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 36,451評論 2 325
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了靡挥。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片序矩。...
    茶點故事閱讀 38,569評論 1 340
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖跋破,靈堂內的尸體忽然破棺而出簸淀,到底是詐尸還是另有隱情,我是刑警寧澤毒返,帶...
    沈念sama閱讀 34,254評論 4 328
  • 正文 年R本政府宣布租幕,位于F島的核電站,受9級特大地震影響拧簸,放射性物質發(fā)生泄漏劲绪。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 39,834評論 3 312
  • 文/蒙蒙 一盆赤、第九天 我趴在偏房一處隱蔽的房頂上張望贾富。 院中可真熱鬧,春花似錦牺六、人聲如沸颤枪。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,725評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽畏纲。三九已至,卻和暖如春庸追,著一層夾襖步出監(jiān)牢的瞬間霍骄,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 31,950評論 1 264
  • 我被黑心中介騙來泰國打工淡溯, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留读整,地道東北人。 一個月前我還...
    沈念sama閱讀 46,260評論 2 360
  • 正文 我出身青樓咱娶,卻偏偏與公主長得像米间,于是被迫代替她去往敵國和親强品。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 43,446評論 2 348

推薦閱讀更多精彩內容