本帖最后由 王广亚 于 2013-8-24 20:16 编辑
构造函数:是对对象初始化的,没建立一个对象时就初始化。好比有个猫类,要要创建一个猫实例就初始化
这个实例。要初始化什么呢?猫可以是黑色的吧。所以你初始化时可以让他拥有黑色的毛,当然也
可以是白色的。
构造代码块:是对所有对象初始化的。还是打猫类的比喻。要要创建一个猫实例就初始化
这个实例。要初始化什么呢?猫天生是“喵喵”叫吧。所以你初始化时可以让他拥有
“喵喵”叫。因为所有的猫都是喵喵叫,所以初始化时就可以放在构造代码快中了。只要一创建
猫的实例,他就会“喵喵叫”,而不是汪汪叫。
构造代码块与构造函数的区别就是:
构造代码块中初始化的是所有的猫共有的特性;
构造函数中初始化的哪一只猫特有的(或者说不是共有的)特性;
猫可以是黑色的也可以是白色的各种颜色的猫都可以,但是猫的叫声
只有喵喵一种是所有猫共有的。
关于静态代码块我还没想到合适的例子,看了上楼的回答,我还是支持一下她的吧。
|