与其说是JAVA编程思想,不如说是面向对象的编程思想,并没有不适合初学者的问题!
刚上手学JAVA的时候,网上总是说JAVA编程思想太难,不适合初学者上手。我被大量类似的言论吓到了,于是耐着性子读了coreJAVA和疯狂JAVA讲义。但是发现这两本书实在是鸡肋一般的存在,看了还是有点用的,但是一直看就浪费生命了。直到翻开JAVA编程思想,我对面向对象的理解才真正地开始了。
CoreJAVA
一开始看的CoreJAVA,这本书充斥着大量C++相关的知识,对JAVA本身的讲解,反而像一个大型的API词典。也没有任何的练习,更过分的是把GUI的内容在上下两本书中各放了一部分,这种行径实在是令人不好评价。
疯狂JAVA讲义
这本书是室友在得知我看CoreJAVA看得很痛苦的时候推荐给我的,他告诉我这本书有很多的小练习可以做,对GUI也没有那么执着。虽然很多人看到这个浮夸的题目就想要对他批判一番,但是我觉得这本书还是比CoreJAVA强的,话又说回来,CoreJAVA这个名字在浮夸程度上也差不多吧。
总体来说,这本书很符合中国学生的阅读习惯,但是也陷入了堆砌API的陷阱中,对真正面向的思想避而不谈。并且对很多事情都是只有一个结论,原理完全略去,读后感www.simayi.net让人读了很不爽。书上的示例和习题质量很低不说,获取示例代码的方式还非常麻烦,需要购买凭证才能获取,请问我从图书馆借的书要怎么出示凭证呢?这一点可以说是非常非常糟糕和保守。所以这本书也就看了四百多页。
我对前两本书的极大不满都是从这两本书对Date,Calendar之类的基础类库的大篇幅讲解开始的,这种东西,难道我不会去看API文档么,既然出了书,那每一页都是稿费,拿这种东西上来凑数实在是让人生气,读了还浪费时间。
JAVA编程思想
这本书就非常的amazing了,第一章开篇就给出了高屋建瓴的结论,让我在学习前两本书中积累的不快迎刃而解。作者对面向对象的理解很深刻,把对象比作微型计算机的思路让我茅塞顿开。
从第一章往后,介绍各种具体知识的时候,作者使用大量鲜明生动又简单的例子把使用方法、思想讲得很透彻,对各种现象背后的原理也有恰到好处的讲解,中间还穿插着各种设计模式的内容。这本书可以说是让人流连忘返。
我本人此前基本没有面向对象的基础,大学绝大多数的编程工作都是使用C语言和Verilog(笑)完成的,但是阅读起来并没有什么太大的问题,有的地方是需要稍微多看一下,但是也没有到不适合初学者的地步,我反而觉得,如果初学者一开始接触面向对象就是从阅读这本书开始的,应该能少走很多弯路。本书对API的讲解不是那么全面,但是你完全可以去oracle官网阅读文档,我觉得这才是良好的写书的态度。这本书是稍微有一点老了,还停留在JDK6的时代,但是JAVA基本的思想这么多年是没有太大的变化的,关于新特性,完全可以去看别的资料找补嘛,并不需要太多时间。