第一章 对象导论
1.1抽象过程
汇编是对底层机器的轻微抽象
1.2每个对象都有一个接口
类描述了具有相同特性(数据元素)和行为(功能)的对象集合,所以一个类实际上就是一个数据类型。
接口确定了对某一特定对象所能发出的请求。
在类型中,每一个可能的请求都有一个方法与之相关联,当向对象发送请求时,与之相关联的方法就会被调用。
1.3每个对象都提供服务
将对象想象成服务提供者。
在良好的面向对象程序设计中,每个对象都可以很好滴完成一项任务,而不是试图做更多事。
1.4被隐藏的具体实现
将程序开发人员分为类创建者(那些创建新数据类型的程序员)和客户端程序员(那些使用数据类型的程序员)。
访问控制的原因1:让客户端程序员无法触及他们不该触及的部分
访问控制的原因2:允许库的设计者可以改变类内部的工作方式二不用担心会影响到客户端程序员。
访问权限:public 默认包权限 protected private
1.5复用具体实现
最简单的复用某个类的方式是直接使用该类的一个对象。
并不是处处都该用继承,使用组合往往更简单。
1.6继承
以现有类为基础,复制它,然后通过添加和修改这个副本来创新新类。
1.6.1“是一个”和“像是一个”关系
Is-a纯粹替代
Is-like-a可以有新特性
1.7伴随多态的可互换对象
在处理类型的层次结构是,经常想把一个对象不当作它所属的特定类型来对待,而是将其当作其基类的对象来对待。
面向对象不是前期绑定。而是后期绑定。当向对象发送消息时,被调用的代码直到运行时才能确定。
在java中,动态绑定是默认行为,不需要添加额外的关键字来实现多态。
1.8单根继承结构
是否所有的类最终都继承自单一的类?
Yes
这个终极基类的名字就是Object。事实证明,单根继承结构带来了很多好处。
单根继承保证所有对象都具备某些功能。
1.9容器
List Map Set等等
1.9.1参数化类型
就是泛型
1.10对象的创建和生命期
动态内存分配方式
基本类型只是一种特例。
Java垃圾回收器
1.11异常处理:处理错误
1.12并发编程
同一时刻处理多个任务的思想
Java的并发是内置于语言中的。
1.13Java与Internet
WWW
1.13.1Web是什么
客户/服务器计算技术
Web就是一台巨大的服务器
1.13.2客户端编程
插件
脚本语言
Java
1.13.3服务器端编程
Servlet及其衍生物JSP