《Thinking in java》第七章 复用类
发觉这一章并不是一些什么基础,却蕴含java编程的一些常规思想,设计模式的雏形。
[b]7.1 组合语法[/b]
一个类包含另一个类的引用。
初始化引用的四种方法:
1.定义即初始化,保证了在调用构造器前初始化
2.在类的构造器中
3.正要使用这些类之前,惰性初始化
4.使用实例初始化
[b]7.2 继承语法[/b]
为每一个类添加main()方法,方便单元测试。
数据成员指定为private,方法指定为public
7.2.1 初始化基类
当创建一个导出类的对象时,该对象包含了一个和基类的子对象,这个对象和直接用基类创建的对象完全一样,只是说这个对象包含在导出类对象的内部。
在初始化导出类时,从内到外,先调用基类的构造方法,在调用导出类的构造方法。并且导出类一定会调用基类的构造方法。
[i]带参数的构造器[/i]
如果基类中的构造器带参数,那么导出类的构造器中一定要显示的调用基类的构造器super(i)并传入合适的参数。
[b]7.3 代理[/b]
组合和继承的中庸之道。
[b]7.4 结合使用组合和继承[/b]
7.4.1 正确清理
7.4.2 名称屏蔽
[b]7.5在组合和继承之间进行选择[/b]
在新类中嵌入某个对象,让其实现所需要的功能,但新类中的用户看到的是新类所定义的接口,而不是嵌入类的接口。需要在新类中嵌入一个现有类的private对象。
[b]7.6 protected关键字[/b]
尽大限度的隐藏
[b]7.7 向上转型[/b]
继承的最重要的方面不是继承基类的方法,而是新类和基类之间的关系,即“新类是现有类的一种类型”。
慎用继承。
[b]7.8 final关键字[/b]
7.8.1 final数据
public可用于包外
static只有一份
final不能改变
final static基本类型用大写命名,字与字之间用下划线隔开。
发觉这一章并不是一些什么基础,却蕴含java编程的一些常规思想,设计模式的雏形。
[b]7.1 组合语法[/b]
一个类包含另一个类的引用。
初始化引用的四种方法:
1.定义即初始化,保证了在调用构造器前初始化
2.在类的构造器中
3.正要使用这些类之前,惰性初始化
4.使用实例初始化
[b]7.2 继承语法[/b]
为每一个类添加main()方法,方便单元测试。
数据成员指定为private,方法指定为public
7.2.1 初始化基类
当创建一个导出类的对象时,该对象包含了一个和基类的子对象,这个对象和直接用基类创建的对象完全一样,只是说这个对象包含在导出类对象的内部。
在初始化导出类时,从内到外,先调用基类的构造方法,在调用导出类的构造方法。并且导出类一定会调用基类的构造方法。
[i]带参数的构造器[/i]
如果基类中的构造器带参数,那么导出类的构造器中一定要显示的调用基类的构造器super(i)并传入合适的参数。
[b]7.3 代理[/b]
组合和继承的中庸之道。
[b]7.4 结合使用组合和继承[/b]
7.4.1 正确清理
7.4.2 名称屏蔽
[b]7.5在组合和继承之间进行选择[/b]
在新类中嵌入某个对象,让其实现所需要的功能,但新类中的用户看到的是新类所定义的接口,而不是嵌入类的接口。需要在新类中嵌入一个现有类的private对象。
[b]7.6 protected关键字[/b]
尽大限度的隐藏
[b]7.7 向上转型[/b]
继承的最重要的方面不是继承基类的方法,而是新类和基类之间的关系,即“新类是现有类的一种类型”。
慎用继承。
[b]7.8 final关键字[/b]
7.8.1 final数据
public可用于包外
static只有一份
final不能改变
final static基本类型用大写命名,字与字之间用下划线隔开。