A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

本帖最后由 兜兜转转 于 2013-8-27 07:58 编辑

构造函数和构造代码块,静态代码块到底干嘛用?  我只知道执行顺序,总是听大家说是构造代码快是给对象初始化的,静态代码快是给类初始化的,到底初始化什么东西了?初始化对象,又给对象初始化什么东西了呢?构造函数到底是给对象初始化还是给成员变量初始化?

4 个回复

倒序浏览
我估计是以后开发中某个小细节会用到,现在么,学习阶段作为了解就行
回复 使用道具 举报
比如说你在加载这个累之前想初始化一些变量,例如 在连接数据库时 我想要在加载这个类时就自动和数据库取得连接,我们可以把连接步骤写静态代码块中当然也可以写在构造函数中,也可以进行变量的初始化操作,例如有参的构造函数 我们在进行声明对象时就可以把值传进去 进行初始化

评分

参与人数 1技术分 +1 收起 理由
夜默 + 1

查看全部评分

回复 使用道具 举报
本帖最后由 王广亚 于 2013-8-24 20:16 编辑

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

评分

参与人数 1技术分 +1 收起 理由
夜默 + 1

查看全部评分

回复 使用道具 举报
亲,如问题已解决请将分类的“未解决”改为“已解决”。
以后的问题贴也要及时更改分类哦~
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马