全部的編程語言都提供抽象的機制,人們所能解決的問題的複雜性直接取決於抽象的類型和質量。 彙編是對底層機器語言的輕微抽象。 「命令式」語言(C、BASIC等)是對彙編語言的抽象。 可是這些都是解決問題必須基於計算機的結構,而不是基於要解決問題的結構來考慮的。java
Smalltalk的五個基本特性,面 向對象的程序設計方式:編程
Booch對對象提出了一個更加簡潔的描述:對象具備狀態、行爲和標識。服務器
建立抽象的數據類型是面向對象程序設計的基本概念之一。全部的面向對象的設計語言都使用class這個關鍵字表示數據類型。 接口肯定了對某一特定對象所能發出的請求。併發
將對象看做是服務提供者還有一個附帶的好處:它有助於提升對象的內聚性編程語言
java用public、private、protected設計
使用一個類的一個對象,建立成員對象。使用現有類合成新的類,這種概念叫作組合,動態產生 就叫聚合。 就想汽車擁有引擎同樣。對象
源類(基類、超類或者父類)發生變化 相應的副本(導出類、繼承類或者子類)也發生變化。 幾何形 -- 圓形 、正方形繼承
一個圓形就是一個幾何形狀接口
面向對象程序設計語言使用了後期綁定的概念。當面向對象發送消息時、被調用的代碼直到運行時才能肯定。 java 的 動態綁定是默認行爲。 把要導出的類看作它的基類的過程稱爲向上轉型,生命週期
單繼承結構的好處:
list set map
泛型
java徹底採用了動態內存分配的方式。 java 的垃圾回收器被設計用來處理內存釋放的問題。垃圾回收器知道對象什麼時候再也不被使用,並自動釋放對象佔用的內存,這一點同全部對象都是繼承基類Object以及只能以一種方式建立對象這兩個特性結合起來的。
java一開始就內置了異常處理,並且強制你必須使用它。
java的併發是內置於語言中的。