Thinking in java 笔记二
第五章 初始化与清理
5.1 用构造器确保初始化
5.2 方法重载
区分重载方法:每个重载方法都必须有一个独一无二的参数列表;基本类型参数能从一个较小的类型自动提升至一个较大的类型;不能以返回值区分
5.3 默认构造器
无参构造器,没有编译器会自动生成
5.4 this关键字
this关键字只能在方法内部使用,调用方法的那个对象的引用;在构造器中调用构造器;static方法没有this参数
5.5 清理:终结处理和垃圾回收
对象可能不被垃圾回收;垃圾回收并不等于析构;垃圾回收只与内存有关
finalize()只用在回收 以非new创建对象 而占用的内存空间,如本地方法;或者判断终结条件
垃圾回收机制:引用技术(没在实际虚拟机中使用);标记-清扫; 停止-复制
5.6 成员初始化
5.7 构造器初始化
初始化顺序 见P96
5.8 数组初始化
基本类型会初始化为0
可变参数列表(可以用数组表示)
5.9 枚举类型
第六章 访问权限控制
如何把变动的事物与保持不变的事物区分开来
6.1 包:库单元
6.2 java访问权限修饰词
6.3 接口和实现
6.4 类的访问权限
第七章 复用类
复用类两种方法:在新的类中产生现有类的对象;按照现有类的类型来创建新类
7.1 组合语法
7.2 继承语法
7.3 代理
组合和继承的中庸之道
7.4 结合使用组合和继承
7.5 在组合和继承之间选择
组合通常用在想在新类中使用现有类的功能而非它的接口这种情形
继承使用某个现有类并开发它的特殊版本 is-a
7.6 protected 关键字
7.7 向上转型
7.8 final关键字
final数据表示数据不可变,final引用初始化后不能改变指向
final方法表示方法不能被重写(覆盖),private方法默认为final
final类表示类不能被继承
7.9 初始化及类的加载