Thinking in java 笔记一
第一章 对象导论
1.1 抽象过程
建立机器模型(解空间)和实际问题模型(问题空间)之前的关联。面向对象将问题空间的元素在解空间中表示为对象。
面向对象语言的五个基本特性:万物皆为对象;程序是对象的集合,他们通过发送消息来告知彼此所需要的;每个对象都有自己的由其他对象所构成的存储;
每个对象都有其类型;某一特定类型的所有对象都可以接受相同的消息
1.2 每个对象都有接口
接口确定了对某一特定对象所能发送的请求
1.3 每个对象都提供服务
将对象想象为“服务提供者”
在良好的面向对象设计中,每个对象都可以很好的完成一项任务,但是它并不试图做更多的事
1.4 被隐藏的具体实现
类创建者和客户端程序员,访问控制让客户端程序员无法触及他们不应该触及的部分
1.5 复用具体的实现
代码复用是面向对对象程序设计语言了不起的优点之一
组合 聚合
1.6 继承
基类与导出类产生差异的方法:添加新的方法(is-like-a);覆盖基类方法(is-a 替代)
1.7 伴随多态的可互换对象
面向对象程序设计函数调用使用后期绑定
1.8 单根继承结构
单根继承保证所有对象都具备某些功能(垃圾回收,多态)
1.9 容器
集合 参数化类型(泛型)
1.10 对象的创建和生命周期
java完全采用动态内存分配方式,垃圾回收
1.11 异常处理:处理错误
异常处理就像是与程序正常执行路劲并行的、在错误发生生执行的另一条路劲
1.12 并发编程
1.13 java与internet
本章确实是导论,大概介绍了面向对象程序设计和java的一些核心概念
第二章 一切都是对象
2.1 用引用操纵对象
引用占用空间java规范并未规定
2.2 必须由你创建所有对象
存储区: 寄存器,堆栈,堆,常量存储,非RAM存储
高精度数字 BigInteger BigDecimal
数组
2.3 永远不需要销毁对象(感觉没翻译好,意思是不用自己主动销毁对象)
2.4 创建新的数据类型:类
2.5 方法、参数和返回值
2.6 构建一个java程序
static关键字
2.7 你的第一个java程序
2.8 注释和文档
2.9 编码风格
本章就是一个基本程序的入门
第三章 操作符
3.1 更简单的打印语句
静态导入
3.2使用java操作符
3.3 优先级
3.4 赋值
3.5 算术操作符
3.6 自动递增和递减
3.7 关系操作符
3.8 逻辑操作符
3.9 直接常量
常量后缀
3.10 按位操作符
3.11 移位操作符
3.12 三元操作符 if-else
3.13 字符串操作符+ 和 +=
3.14 使用操作符常犯错误
if(x=y)
3.15 类型转换操作符
截尾 舍入Math.round
3.16 java没有sizeof
第四章 控制执行流程
4.1 true和false
4.2 if-else
4.3 迭代
4.4 foreach语法
4.5 return
4.6 break和continue
4.7臭名昭著的goto
break label;
continue label;
4.8 switch