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的垃圾回收器被设计用来处理内存释放问题。