1. 程式人生 > >java程式設計思想第4版初始學習

java程式設計思想第4版初始學習

前言

1、看過這部分內容,首先我瞭解到作者通過和其他程式語言的比較強調了java程式設計對複雜性的優勢。
2、 以作者原話,這本書的誕生是因為java語言的升級,“這本書基本可以稱為‘只限javaSE5/6’”,而我現在使用的大多是javaSE7/8,會有些差別。
3、 作者還提到他內建的測試框架,該框架由Python編寫。
4、作者還推薦了幾款工具,UML工具:Sparxsystem 的enterprise Archritecture
Jalopy程式碼格式化工具,Slava Pestov 的JEdit外掛。

書本提供的材料和資源

網址www.MindView.net


hands on java:jdbc+servlet+jsp(收費)
JDK HTML文件:java.sun.com
練習答案:the thinking in java annotated solution guide(收費)

物件導論
1、OOP:Object-Oriented Programming 面對物件程式設計
1)萬物皆為物件
2)程式是物件的集合,他們通過傳送訊息來告訴自己所要做的。
3)每個物件都有自己的由其他物件所構成的儲存
4)每個物件都擁有其型別。
5)某一個特定型別的物件都可以接收同樣的訊息。


1、類描述了具有相同特性(資料元素)和行為(功能)的物件集合。所以一個類就是一個數據型別。
2、面對物件的挑戰之一是,問題空間的元素和解空間的物件之間建立一對一的對映
3、每個物件都只能滿足某些請求,這些請求由物件的介面所定義,決定介面的便是型別。

隱藏具體實現和訪問控制
目的:減少程式bug,讓客戶端程式設計師無法觸及他們不應該觸及的地方,還有就是允許設計者可以改變類內部的工作方式而不用擔心會影響到客戶端程式設計師。

類的複用
最簡單的複用是直接用該類建立一個物件。
也可以將類作為一個成員物件置於某個新類中,這叫建立一個成員物件,這也被稱為組合。

繼承
1、為什麼要繼承:在建立一個類後,即使另一個新類與其具有相似的功能,你還得重新建立一個新類,如果我們能以現有的類為基礎,複製它成為一個副本,然後通過新增修改這個副本來建立新類就方便很多。
2、源類叫基類,副本叫匯出類。
3、匯出類和基類具有相同型別。
4、有兩種方式,可以使基類與匯出類產生差異
1)直接在匯出類新增新方法
2)(重要)改變基類的方法和行為

多型
1、在java中動態繫結是預設行為,不需要新增額外的關鍵字來實現多型。
2、向上轉型。

單根繼承
1、在OOP中,所有類都最終繼承單一的基類,這個終極基類是Object
2、在單根繼承的結構中,所有物件都具有一個公共介面,所以他們歸根到底都是相同的基本型別。

容器
1、為什麼要有容器?
因為在解決某個特定問題時需要多少個物件,物件的存活時間多久,如何儲存這些物件,這些資訊只有在執行時才能獲得,為了解決這個問題,我們可以建立一個新的物件型別,這種物件型別持有對其他物件的引用,也可以使用陣列儲存這些物件的引用,一般這樣的儲存結構我們就叫容器。
2、OOP語言都有一組容:LIST,SET,MAP
1)不同容器提供不同型別的介面和外部行為
2)不同的容器對不同的操作具有不同的效率。

引數型別機制
1、容器儲存的物件一般是通用型別比如object,取出物件時要轉化成具體型別,這個過程叫向下轉型,向下轉型不安全,這時候就出現引數型別機制,在java中叫泛型。