黑马程序员技术交流社区
标题:
构造函数和构造代码块,静态代码块到底干嘛用?
[打印本页]
作者:
兜兜转转
时间:
2013-8-24 11:07
标题:
构造函数和构造代码块,静态代码块到底干嘛用?
本帖最后由 兜兜转转 于 2013-8-27 07:58 编辑
构造函数和构造代码块,静态代码块到底干嘛用? 我只知道执行顺序,总是听大家说是构造代码快是给对象初始化的,静态代码快是给类初始化的,到底初始化什么东西了?初始化对象,又给对象初始化什么东西了呢?构造函数到底是给对象初始化还是给成员变量初始化?
作者:
夜默
时间:
2013-8-24 12:57
我估计是以后开发中某个小细节会用到,现在么,学习阶段作为了解就行
作者:
未知数|X|
时间:
2013-8-24 13:32
比如说你在加载这个累之前想初始化一些变量,例如 在连接数据库时 我想要在加载这个类时就自动和数据库取得连接,我们可以把连接步骤写静态代码块中当然也可以写在构造函数中,也可以进行变量的初始化操作,例如有参的构造函数 我们在进行声明对象时就可以把值传进去 进行初始化
作者:
王广亚
时间:
2013-8-24 20:14
本帖最后由 王广亚 于 2013-8-24 20:16 编辑
构造函数:是对对象初始化的,没建立一个对象时就初始化。好比有个猫类,要要创建一个猫实例就初始化
这个实例。要初始化什么呢?猫可以是黑色的吧。所以你初始化时可以让他拥有黑色的毛,当然也
可以是白色的。
构造代码块:是对所有对象初始化的。还是打猫类的比喻。要要创建一个猫实例就初始化
这个实例。要初始化什么呢?猫天生是“喵喵”叫吧。所以你初始化时可以让他拥有
“喵喵”叫。因为所有的猫都是喵喵叫,所以初始化时就可以放在构造代码快中了。只要一创建
猫的实例,他就会“喵喵叫”,而不是汪汪叫。
构造代码块与构造函数的区别就是:
构造代码块中初始化的是所有的猫共有的特性;
构造函数中初始化的哪一只猫特有的(或者说不是共有的)特性;
猫可以是黑色的也可以是白色的各种颜色的猫都可以,但是猫的叫声
只有喵喵一种是所有猫共有的。
关于静态代码块我还没想到合适的例子,看了上楼的回答,我还是支持一下她的吧。
作者:
黄文伯
时间:
2013-8-26 15:13
亲,如问题已解决请将分类的“未解决”改为“已解决”。
以后的问题贴也要及时更改分类哦~
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2