JAVA编程思想第4版读书笔记
2015-10-01 11:30
429 查看
原来download了网上一个第1版的Java编程思想,里面讲的还是Java1.0和Java1.1时代的故事。我看到一半,又找到第三版,发现讲的是Java 1.4时代的故事。到第4版,讲Java 1.6。我想现在都到Java 1.8了,这两年该出Java编程思想第5版了吧!
这件事情给我的教训是,看书一定要看最新版,一定要看经典,否则就是浪费时间。
此为引子。
第一章可以跳过去。
Java中一切都是对象,理解这一点,你会发现Java单根继承自object。
操作符没什么特别的,只是Java编程思想的作者认为三元操作符不是一种好的Java代码风格。
控制部分注意Java多了一个foreach语句,和脚本类似,其含义是从集合中取出元素进行遍历。
初始化部分和C++的构造函数可以对照进行理解。注意它的清理需要专门写函数,finalize和C++的析构函数严重不对应,照搬后果严重。
为保证任何情况都执行,相关的工作可以放到finally子句中处理(异常)。
Java的访问权限控制相比于C++,还是多了一个包的概念,并且protected也和C++在派生类到基类的访问权限上有差别。这个我没有死记硬背,用到多留心。
所谓的复用类有继承和组合两种。本质上需要理解是一个,和有一个的差别。是一个表示继承合适,基类和派生类之间维持一个紧密耦合。有一个则是组合关系。
Java向上转型和C++一样面临切割问题,就是派生类多出来的东西不可用。向下转型的安全性由Java的RTTI来保证。
Java的多态和C++的多态不一样的地方是,Java的多态不需要额外关键字。
Java的接口相当于C++的抽象类接口。
Java的内部类就是类中类,但和C++的嵌套类还是有细微区别。具体区别另外写博文区分。用到了再细写。
Java的一堆容器,和C++有对应关系。不多说,记住迭代器抽象分离和算法和实现。
所谓异常,就是处理出错情况。Java是推荐并且强制处理异常的。
其他部分暂时未看,后续再写。
这件事情给我的教训是,看书一定要看最新版,一定要看经典,否则就是浪费时间。
此为引子。
第一章可以跳过去。
Java中一切都是对象,理解这一点,你会发现Java单根继承自object。
操作符没什么特别的,只是Java编程思想的作者认为三元操作符不是一种好的Java代码风格。
控制部分注意Java多了一个foreach语句,和脚本类似,其含义是从集合中取出元素进行遍历。
初始化部分和C++的构造函数可以对照进行理解。注意它的清理需要专门写函数,finalize和C++的析构函数严重不对应,照搬后果严重。
为保证任何情况都执行,相关的工作可以放到finally子句中处理(异常)。
Java的访问权限控制相比于C++,还是多了一个包的概念,并且protected也和C++在派生类到基类的访问权限上有差别。这个我没有死记硬背,用到多留心。
所谓的复用类有继承和组合两种。本质上需要理解是一个,和有一个的差别。是一个表示继承合适,基类和派生类之间维持一个紧密耦合。有一个则是组合关系。
Java向上转型和C++一样面临切割问题,就是派生类多出来的东西不可用。向下转型的安全性由Java的RTTI来保证。
Java的多态和C++的多态不一样的地方是,Java的多态不需要额外关键字。
Java的接口相当于C++的抽象类接口。
Java的内部类就是类中类,但和C++的嵌套类还是有细微区别。具体区别另外写博文区分。用到了再细写。
Java的一堆容器,和C++有对应关系。不多说,记住迭代器抽象分离和算法和实现。
所谓异常,就是处理出错情况。Java是推荐并且强制处理异常的。
其他部分暂时未看,后续再写。
相关文章推荐
- 9.30JAVA学习第9天
- java-design- flyweight
- 三大框架学习之----struts2框架的搭建(一)
- 002 JAVA Hello World!
- struts2结果类型
- Java编程思想作者引用的10大Java书籍选登
- Java 动态代理机制简单理解
- java篇 【6】数组的定义和使用
- Java线程执行顺序小结及线程池终止判定
- 三大排序:选择排序,冒泡排序,插入排序
- 在eclipse中配置openCV
- Java ArrayList和Vector的区别
- org.eclipse.birt.report.data.oda.jdbc.JDBCException: Missing properties in Connection.open(Propertie
- Java中启动线程start和run方法的区别
- java快速失败分析
- Java基础知识强化之IO流笔记20:FileOutputStream写出数据实现换行和追加写入
- Eclipse汉化
- 去除数组中的重复元素---hashset
- javaAPI文档翻译之Java.awt.BorderLayout
- java.io.IOException: Type mismatch in key from map: expected