1. 程式人生 > >java編程思想第一章

java編程思想第一章

java se 數據類型 外部 思想 靈活 方法 不同 表示 簡潔

1.抽象過程
Alan kay 總結的面向對象的編程語言:

  • 萬物皆為對象。
  • 程序是對象的集合,他們通過發送信息來告訴彼此所要做的。
  • 每個對象都有自己的由其他對象所構成的存儲。
  • 每個對象都擁有其類型。
  • 某一特定類型的所有對象都可以接受同樣的信息。

Booch對對象有一個更簡潔的描述:對象是具有狀態,行為和標識。這意味著每一個對象哪個都可以擁有內部數據(他們給出了該對象的狀態)和方法(它們產生行為),並且每一個對象都可以與其他對象區分開來,就是說每一個對象在內存中有唯一的地址。
2.每一個對象都有一個接口
創建抽象數據類型(類)是面向對象程序設計的基本概念之一。
類描述了具有相同特性(數據元素)和行為(功能)的對象集合,所以一個類實際上就是一個數據類型。

面向對象程序設計的挑戰之一,就是問題空間的元素與解空間的對象之間建立一一映射。
3.被隱藏的具體實現
訪問控制存在的一個原因是讓客戶端程序員無法觸及他們不應該觸及的部分,第二個原因是允許庫設計者改變類內部的工作方式。
Java用3個關鍵字在類的內部設定邊界:public,private,protected。
public:表示緊隨其後的元素對任何人都是可用的。
private:表示除了類創建者和類的內部方法之外,其他人都不能訪問的元素。
protected:與private相似,差別在於繼承的類可以訪問。
什麽都不加的話,稱為包訪問權限,類可以訪問同一個包中的其他類成員。
4.復用的具體實現
使用現有類合成新的類稱為組合。如果組合是動態的,則被稱為聚合。
在建立新類時,首先考慮組合,因為他更加靈活。
5.單根繼承結構
單根繼承結構保證所有對象都具備某些功能。
單根繼承結構使垃圾回收器的實現變得容易。
6.容器
不同的容器提供了不同類型的接口和外部行為。
不同類型的容器對某些操作具有不同的效率。
7.參數化類型
Java SE5出現之前,容器中存儲的對象都只具有Java中的通用類型:Object
Java SE5重大變化之一就是增加了參數化類型 : 範型。ArrayList<?>=new ArrayList<?>();

java編程思想第一章