对象导论 Thinking in Java 第一章
1.1 抽象过程
1.人们能够解决问题的复杂性直接取决于抽象的类型和质量。
1.2 每个对象都有一个接口
1.3 每个对象都提供服务
1.4 被隐藏的具体实现
1.程序猿分为:类创建者 和 客户端程序猿
*对于这两者的区别和联系:类创建者为写底层和封装实现的开发人员,而客户端程序猿主要是利用API使用类创建者写的类进行开发;两者的角色在一般的开发人员看来是一体的,就如java开发中自己要建类,然后自己使用之。
2.Java访问权限控制
public,private,protected;
同时Java含有一种默认的包访问权限,即在同一包下,可以相互访问其他类的成员,但是不在同一包下,这些类的成员就如private访问类型一样。
1.5 复用具体类
即之后会提到的 组合 方式 <has-a>
1.6 继承<is-a>
1.7 伴随多态的可互换对象
1.向上转型引出的:静态绑定 和 动态绑定
2.静态绑定:在编译期确定调用的具体方法,而不是在运行期;
3.动态绑定:在编译期用 一小段代码 代替绝对地址调用,此段代码可以在运行时计算出需要调用具体方法的地址;这样就可以实现根据不同的对象具有不同的实现方式的目的;
*动态绑定是向上转型的核心,也是 工厂模式 实现的主要核心内容。
1.8 单根继承机构
所有的类都继承自单一的基类 Java --- <Object>
1.9 容器
如Collection,Map等
1.10 对象的创建和生命期
1.C++:认为效率控制是最重要的议题,所以给了程序猿选择的权利。对象的存贮空间和生命周期在编写程序时确定。
2.对象置于:堆栈 或 静态存储区域;这将存贮空间分配和释放置于优先考虑位置;在编程是需要确切的知道对象的数量、生命周期、类型;查找和释放不需要过多时间;
3. 堆(heap)内存池:动态的创建对象; 相对而言,查找和释放需要更多的时间;Java采用了动态的内存分配方式;
4.垃圾回收机制:所有的对象都是单根继承 和 只能以一种方式创建对象<在堆上创建> 这两个特性结合起来。
1.11 异常处理:处理错误
异常处理不是面向对象的特征
1.12 并发编程
1.13 Java 与 Internet