两个月前把Core Java 2第一本的前几章又看了一遍,感觉收获很大,但又很少。在看别人(高手)写的程序时常常不明白为什么要这样写。如:getXX(){ return XX;}这个方法,它只是为了得到XX,而不是修改XX,当XX为数组(可变对象)时通过这个方法还是可以修改数组中的元素,没有达到封装的效果,所以这个方法是多余的。知道封装也知道这个方法是为了封装,就是没有考虑是否达到了目的。以前知道的封装和现在知道的封装有什么区别呢。
以前对对象序列化很迷惑,后来通过查找资料和在工作中接触相似的知道就是存储类的数据域的值。前几天在公司开会,闲聊时,一高手说从机器语言一直到现在的面向对象语言等都是为了存储数据,存储数据,当时有种豁然开朗的感觉,好象抓到了什么,但很模糊,也许是设计一个类时会用到,但感觉还不止这些。
有时遇到问题时,一个人思考会想很久也想不出来是怎么解决,别人随意说的一句话就能解决问题。
过段时间重新看下基础的东西也许会有意想不到的收获