本人一直以为,TIJ不是入门书籍,CoreJava也同样不是,他们是”入门后“书籍。TIJ第3版各处都散发着臭味,比如:你TMD与初学者大讲JVM的垃圾回收机制,不是有毛病是什么?每个程序的输出都用上了Junit那样的干法,还引入了正则表达式,分明不拿自己当入门级么。而且,里面的语法细节抠得太细,这些都是”入门后“得特点。——什么是入门?入门就是要快速掌握要点,一些枝叶问题暂时可以省略。
CoreJava比TIJ3要好不少。读起来要清爽许多。
个人以为:时间是稀缺资源,入门就是要快速掌握语言的要点,马上能够动手玩语言。入门后才是死抠细节,有计划有重点地学习各个应用专题玩弄相应”内裤“、乱涂”摩丝“。
个人观点,不一定正确。毕竟,like与like无从比较——一直都对的是”永远光荣正确伟大“,须知参差多太乃人生幸福之本源。
------------------
TIJ3 -- tons of toys
TIJ3看起来确实乏味。
1、没基础的,TIJ3理解起来比较累
2、有基础的,TIJ3太罗嗦。
3、看样子,TIJ3的主要针对对象,还是在其他语言(主要是C++)上已经有足够oop经验的程序员。他们开始玩java的时候,tij3是不错的入门。
以上看法,不一定正确。
------------------
终于又开始看TIJ3了
第5章 Hiding the Implementation
大意:
1、讲述了Package的概念,与目录的对应关系,如何设置CLASSPATH环境变量
2、public, protected, default, private访问级别
需要留意:
1、类名冲突--import关键字
2、default package--无名的package
3、库的搜索
没有更多东西了。这一章比较简单,有java基础的都不会有什么问题。
建议阅读方式:
1、从习题入手。如果做习题没有什么问题,不必阅读冗长的正文。
2、正文中的例子,基本上都没什么趣味,不必细读。
------------------
第6章 Reusing Classes
重点讲继承。实质是 final 关键字大讨论。
重点内容
1、继承的语法
2、finial关键字
需要留意:
1、类的初始化(基类到子类)(如果要自己释放资源的化,次序相反)
2、使用子类对象时,实际上有看不见的、被包装起来的基类对象
3、final关键字
常量(基本数据类型的final)
final 对象(引用被固定了,对象还是可以改变的)
final类(不让继承)
final方法(不让覆盖、可以被编译器优化)
blank finals(使用前必须初始化,初始化后与其他final数据一样处理)
final arguments(没意义的东西,local vars,固定它干什么?)
4、在继承中捕捉基类异常(很不方便)
关于final的讨论,记住结论即可,正文中的例子代码毫无阅读价值。建议:鸟瞰正文,认真做习题。如果做习题不难的化,就没必要细读正文
------------------
第4章 Initialization & Cleanup
重点内容
1、构造函数
2、方法重载
3、垃圾收集
4、成员初始化
5、数组初始化
注意:
1、缺省构造函数
2、this关键字
3、finalize()与System.gc()
4、初始化(顺序、static变量的初始化、static块)
没觉得这一章有什么东东困难。有人学了一年java,再看这一章说弥补了很多,哈哈,结论是:Y看书也太囫囵吞枣,起码习题没做。
------------------
第八章 Interfaces & Inner Classes
抨击TIJ3,第8章对inner class的讨论太过头了。
1、Interface里面还有inner class,这些,都是语法意义上的东西。其实用价值存疑。
2、inner class的讨论,完全不是从实用的目的出发,而且穷尽各种可能性--从学以致用的角度上看,恶臭无比。
3、初学者,不管是否有基础,如果能够完全理解这一章,必然是牛人--起码我不行,看着代码就油然而生厌恶之情。
这一章的阅读,建议以“不求甚解”的态度进行。
1、对接口,掌握基本的语法,知道基本的用途即可——在coding的实践中加深理解。
2、对inner class,掌握基本的语法即可。实践中,结合java 的事件机制,会有更深的理解。