第六章 复用类
6.1 组合语法
例:public class A{
private B b; //组合
}
组合初始化的三种形式:1.在定义组合的位置初始化
2.在构造器内初始化
3.在使用前构造
6.2 继承语法
例:public class B extends A{
}
1.B将继承A中所有属性和方法
2.通过super.xxx()可以调用基类方法
3.当B与A中存在相同方法则B实例调用时会产生覆盖
4.在B中可以定义新的方法和字段
5.Java自动在导出类的构造器中插入对基类构造器的调用,调用基类构造器必须是导出类构造器完成的第一件事
6.3 组合与继承之间选择
是一个用继承表达(如果需要从新类向基类进行向上转型),有一个用组合表达
6.4 增量开发
新bug隔离在新代码中
6.5 向上转型
导出类实例可以作为参数传给基类实例,因为java采用后期绑定策略,只有运行时才知道调用哪块地址空间
6.6 final关键字
1.final数据表示常量其值不允许改变,一般需要先初始化
2.final参数 允许读参数但不允许改变参数
3.final函数 ,方法锁定即任何继承类都不能修改其含义,继承后不会被覆盖
4.final类不允许作为基类