#读书笔记#《Thinking in Java》第1章 对象导论

138 阅读2分钟

1.1 抽象过程

Java语言抽象为对象的五个基本特征:
1. 万物皆对象。
2. 程序是对象的集合,它们通过发送消息来告知彼此要做的。
3. 每个对象都有自己的由其他对象所构成的存储。
4. 每个对象都有其类型。
5. 某一特定类型的所有对象都可以接收同样的消息。
对象具有状态、行为和标识

1.2 每个对象都有一个接口

每个对象都实现某些功能,这些功能列表即为接口。决定接口的便是对象的类型。

1.3 每个对象都提供服务

在良好的面向对象设计中,每个对象都可以很好的完成一项任务,但它并不试图做更多的事。

1.4 被隐藏的具体实现

类创建者可以任意修改被隐藏的部分,而不用担心对其他任何人造成影响。

访问控制:
public
private
protected (继承的类可以访问protected成员)
包访问权限

1.5 复用具体实现

组合经常被视为“has-a”(拥有)关系。
在建立新类时,应该优先考虑组合,因为它更加简单灵活。

1.6 继承

有2种方法使基类与导出类产生差异
1.直接在导出类中添加新方法。
2.覆盖(复写)基类原有方法。

1.7 伴随多态的可互换对象

Java中动态绑定是默认行为。关于多态更多笔记详见第8章。

1.8 单根继承机构

所有的类最终都继承至单一的基类Object。

1.9 容器

Java容器类型有:List、Map、Set、队列、树、堆栈等。

第一,不同容器提供了不同类型的接口和外部行为。
第二,不同的容器对于某些操作具有不同的效率。

参数化类型就是一个编译器可以自动定制作用于特定类型上的类。

1.10 对象的创建和生命期

Java完全采用动态内存分配方式,在堆的内存池中动态地创建对象。
Java的垃圾回收器被设计用来处理内存释放问题。

1.11 异常处理:错误处理

1.12 并发编程

1.13 Java与Internet

1.14 总结