當前位置:才華齋>計算機>java語言>

java夜未眠的讀書心得

java語言 閱讀(8.83K)

java夜未眠的讀書心得1

java夜未眠的讀書心得

最近我在慧橋上java的培訓課,老師推薦了本不錯的java教材《Think in java 》

看書要學會做筆記,才會有更大收穫,每天讀30分鐘,希望能堅持下去

今天重新翻了第一章

Introduction to object 面向物件主要圍繞的五個要點

ything is an object

每個東西都可以看作一個物件,它儲存了你所需要的必要資訊,你可以通過特定的請求方式來向這個物件請求你所需要的東西

2.A Program is a bunch of objects telling each other what to do by sending messages

一個程式由很多物件組成,你可以向物件傳送訊息來告訴他們做什麼和怎樣做

object has its own memory made up other objects

你可以根據已經存在的物件來建立新的物件,這應該就是物件的繼承與過載吧

y object has a type

每個物件都是類的一個例項,都有自己的特定的需要其完成其功能的資料型別

objects of a particular type can receive the same messages

一個特定型別的所有物件能夠獲取同樣的訊息

java夜未眠的讀書心得2

本書是一本與眾不同的Java入門好書。作者以獨特的視角,向Java初學者講述瞭如何才能真正理解和掌握Java語言。本書分3篇。第1篇為Java語言基本語法,包括Java語言概述、配置開發環境、Java中的基本資料型別、Java運算子、Java流程控制語句和陣列。

第2篇為Java語言高階語法,包括類、物件、方法、繼承、多型、修飾符、介面、抽象類、內部類、Java異常處理和多執行緒程式設計。

第3篇為Java語言程式設計進階,包括Java程式設計常用知識、Java檔案程式設計、Java檔案I/O程式設計、Java TCP程式設計、Java UDP程式設計、Java Swing程式設計、JDBC程式設計,最後還給出了一個聊天程式例項和一個數據表操作視窗例項,將Swing、UDP、Java集合類、執行緒同步、介面和JDBC程式設計有機地結合起來,展示了開發一個簡單程式的典型步驟。

java夜未眠的讀書心得3

首選很感謝Joshua Bloch寫的這本書,當然更感謝我們的'司令翻譯。至少目前我看到的100頁的內容,基本沒發現翻譯很彆扭的地方,包括錯別字也沒有發現,至少沒有影響到我對書中內容的理解。再次感謝。

在後面的讀書心得裡,我會根據我的個人理解,將書中的各個知識點逐個和大家分享。 書中的一些觀點我也不是完全贊同的,呵呵(估計是我的水平不夠,呵呵呵)。

我們先看全書第一個問題:考慮用靜態工廠方法代替構造器。

也就是,不再使用 new ()這種方式來獲得一個類的例項,而是通過工廠方法獲得。

優點:

1 有名字

這個我體會還是比較深的,在JDK裡,我見過一個類的最多的構造器數量,有16個。大家可以看看 ecimal 這個類就知道了。

就算一個類的構造器有4個左右,我想你很可能在使用的時候會極其注意,不要選錯了到底是用哪一個。

所以,如果能提供一個很好命名的方法來實現構造類,確實是一個不錯的主意,比如

nstanceFromString(...); 我想這個名字雖然有點垃圾,但要表達的意思確實異常的明確。

在一些第三方的庫裡面,這種情況更加突出。我許多時候不得不看看API文件,來區分我的那個int引數到底是使用三個引數的構造器,還是使用四個引數的構造器。因為他們太像了。

2 可以單例

這個就不用說了,你可以在方法裡幹你要做的任何事情,而new絕對會給你一個新的例項。

3 可以返回任何子型別。

這個對於系統的擴充套件是很有用處的。new 已經決定了你肯定要這個類,而靜態方法卻可以修改,不一定肯定返回你方法所在的類,可以在必要時替換為一個子類。

4 程式碼簡便

這點我體會不深,呵呵

不過這個寫法我確實經常用

List list = new ArrayList();

後面的那個ArrayList裡面的 String就是一個例子吧。不過我倒是不是很在意這個,因為我很喜歡這樣寫了。

下面這個例子看上去確實不錯。呵呵!

[java] view plain copypublic class Test extends Thread {

public static void main(String[] args) {

Test te = nstance();

}

public static Test newInstance() {

return new Test();

}

}