好书,用心看了才知道(另外谈一下青鸟那本)_Thinking in Java书评-查字典图书网
查字典图书网
当前位置: 查字典 > 图书网 > 科技 > Thinking in Java > 好书,用心看了才知道(另外谈一下青鸟那本)
杆儿 Thinking in Java 的书评 发表时间:2006-08-27 22:08:23

好书,用心看了才知道(另外谈一下青鸟那本)

  我初学java,正在青鸟听课.

  因为觉得青鸟的书写的太肤浅,所以就开始看thinkingInJava.
  现在已经看到第6章了(期间也跳跃到第九章异常瞅了瞅,但看不懂又翻回来了).
  看书时,几乎每一个例子我都实验了一边,并作出各种改动以判断自己的想法是否正确. 除了超出我理解范围的东东(比如"垃圾回收器的工作原理"),每一个概念我都认真思考,知道弄懂它(当然是指在一定程度上).

  我发现这本书真是蕴涵着无穷的宝藏,特别是其中的例题,几乎每做一道我都能获得心得.比如alasing效应,toSring()的用法等等.

  书里对于概念的阐述也很详细,很彻底.比如其中有一段对重载的解释,(见我下面笔记片段)

"  为什么不能用返回值来重载方法:
当你调用一个方法而不管心它的返回值,只想利用其“副作用”时,这叫做“calling a method for its side effect”
如果你只写了 method(),而不是写下如:int num = method(),系统将无法根据返回值来区分方法"

  还有如下笔记:

" 四,方法调用的内部形式:
有如下代码:
ref1.meth();
ref2.meth();
编译器怎样确定你是用那个引用调用的meth方法呢?
其实编译器将ref作为一个参数传给了方法,这样,以上两句就变成了
class.meth(ref);
class.meth(ref); "

  这些都是在别的书上看不到的,我始终坚信一点:别人知其然,我还要只其所以然.这样才能比别人强,这本书就很好的阐述了java的"所以然".

  作者的语言也不乏轻松幽默之处,这使我看的时候不会觉得太枯燥
  
  另外,我还想提提译者,因为我是第二版和第三版对照起来看的,所以想对两本书的翻译比较下,我觉得第二版不如第三版.

  不敢诽谤侯捷的翻译能力和技术功底(深入浅出MFC虽然每看过,但大名总还是知道的).我想这是两次翻译的缘故吧—从english到台湾话,再到大陆话.台湾那边的语言习惯和大陆还是有很多不同的,特别是专用词汇,几乎不可理解.

  总之,这是一本公认的不容质疑的好书,她的经典已完全不需要靠我们的评论来支撑.隔壁的评论简直就是无稽之谈.
  但话说回来,她不太适合新手来读,因为书中涉及了太多的底层机制,还有其中的很多"经验之谈"也是要读者有了一定的经验后才能体会到的(其中甚至还有设计模式的东东),但不管怎样我还是回义无返顾的读下去的.

  最后,为了避免隔壁的同志混淆视听,偶再提提青鸟的java书.
青鸟的java书简单,实用,很适合只有一点c基础甚至零起点的人看
但千万别以为只看它就行了,这其实是一本读了一遍,作完了上面的习题就可以扔掉的书.而且我可以从上面找到很多错误,有些甚至低级到不能忍受.
  呵呵,想去青鸟的同学看到这里不要怕了,其实偶看书很细致滴,偶找到的错误你们不一定会注意到,将就着看也还行^_^
  
  好了,就整到这儿吧,加油加油,努力努力!
    

展开全文
有用 7 无用 3

您对该书评有什么想说的?

发 表

推荐文章

猜你喜欢

附近的人在看

推荐阅读

拓展阅读

对“好书,用心看了才知道(另外谈一下青鸟那本)”的回应

quisis 2012-06-25 23:10:58

什么是新手,是指使用oo语言的新手,还是其它的方面?

Jackon 2011-03-25 16:02:28

关于重载的笔记,感觉有些问题
--------------------------------------------------------------------------------
为什么不能用返回值来重载方法:
  当你调用一个方法而不管心它的返回值,只想利用其“副作用”时,这叫做“calling a method for its side effect”
  如果你只写了 method(),而不是写下如:int num = method(),系统将无法根据返回值来区分方法"
-----------------------------------------------------------------------------------------------
即使写了也无法判断吧?
前面的int只是声明num的,跟method没关系。
只是执行完了加一步类型转换。

编译器在编译的时候,无法检查返回值的吧。
刚开始学java,原理性的懂得少。

申由甲 2010-04-14 17:52:56

06年写的评论。。老兄现在应该已经是专家了。。

sanmusound 2010-04-14 12:33:32

这位朋友 您好 我也正在研读这本书 望与您畅谈编程

一米阳光 2010-04-09 15:50:51

很酸。