做爲一個電子專業的人,在學習了將近3年的嵌入式技術後,決定投奔移動互聯網,在互聯網大潮中急流勇進!android
爲了學習OOP(Object-oriented Programming),爲了轉向移動互聯網,我決定開始學習android開發,那麼就從Java開始吧!程序員
Java的學習資料不少,在研究幾天以後,決定從《Java編程思想》這本書開始。編程
而在這本書以前,我已經看完了一個培訓導師的Java4Android的Java教學視頻,看的很快,由於我學過C和C++。服務器
但個人Java水平依舊不好,主要在於面向對象的編程方式和編程思想沒有徹底轉換過來,話很少說,開始吧!多線程
1.1 抽象過程併發
因此語言都提供抽象機制,如彙編語言是對底層機器的輕微抽象;C語言是對彙編語言的抽象;但它們所作的主要抽象還是求在解決問題時要基於計算機的結構,而不是基於所要解決的問題的結構來考慮。因此OOP容許根據問題來描述問題,而不是根據運行解決方案的計算機來描述問題。app
純粹的面向對象程序設計有5個基本特性:學習
1)萬物皆爲對象;插件
2)程序是對象的集合,它們經過發送消息來告訴彼此所要作的;線程
3)每一個對象都有本身的由其它對象所構成的存儲;
4)每一個對象都擁有其類型;
5)某一特定類型的全部對象均可以接收一樣的消息;
1.2 每個對象都有一個接口
UML(Unified Modelling Language,統一建模語言)
1.3 每一個對象都提供服務
將對象看做是服務者有助於提升對象的內聚性。高內聚是軟件設計的基本質量要求之一。
1.4 被隱藏的具體實現
將程序開發人員按照角色分爲類建立者和客戶端程序員。
將實現隱藏起來能夠減小程序BUG,所以訪問控制的第一個存在緣由就是讓客戶端程序員沒法觸及他們不該該觸及的部分,這對客戶端程序員來講實際上是一項服務。
控制訪問的第二個存在緣由就是容許庫設計者能夠改變類內部的工做方式而不用擔憂會影響到客戶端程序員。
1.5 複用具體實現
在創建新類時,應該首先考慮組合,由於它更加簡單靈活。
1.6 繼承
有兩種方法能夠使基類與導出類(父類與子類):
一:直接在導出類(子類)中添加新方法。
二:改變基類(父類)的方法,稱之爲複寫(voerriding)。
1.7 伴隨多態的可互換對象
把將導出類(子類)看作是它的基類(父類)的過程稱爲向上轉型(upcasting)。
反之爲向下轉型。
1.8 單根繼承結構
全部的類都有一個終極的基類(父類),這個基類的名字就是Object。
1.9 容器
參數化類型,即泛型。這一塊貌似比較複雜,我還沒看懂太多。。。
1.10 對象的建立和生命期
1.11 異常處理
try...catch...final
1.12 併發編程
在多線程編程當中,應當注意的是公用資源的訪問,在使用期間應該要被鎖定。
1.13 Java與Internet
Web
1)客戶、服務器計算技術
2)Web就是一臺巨型服務器
3)客戶端編程
①插件
②腳本語言
③Java
④備選方法Java applet
⑤.NET和C#
⑥Internet和Intranet
4)服務器端編程
總結:
目前我還處於從過程型語言編程思想到面向對象型編程思想的轉換過程,掌握現有的資源,深刻淺出。