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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© qq8921310 高级黑马   /  2014-11-6 11:34  /  1032 人查看  /  11 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

构造函数和构造代码块的区别.

视频上说构造代码块给对象进行统一初始化
              构造函数给对象进行初始化.

这两句话貌似没有什么区别啊.

评分

参与人数 1技术分 +1 收起 理由
杨佳名 + 1

查看全部评分

11 个回复

倒序浏览
构造代码块是对每个对象进行初始化的
构造函数是对某一个对象进行初始化的

回复 使用道具 举报
构造代码块 对有共性的内容进行初始化,也就是所有对象都会经过构造代码块的初始化
构造函数 是对单个对象的特性的部分进行初始化,也就一个对象会有相应的构造函数进行初始化

所以每个对象都需要的共性的初始化(构造代码块)会先执行,然后才是相应的构造函数被执行
回复 使用道具 举报
一般记住两个不同
1 加载顺序不同,先代码块再构造
2 静态代码块能初始静态域,构造不能
回复 使用道具 举报
构造代码块只执行一次,在类加载时,给类初始化化。
构造函数在new对象时就会加载,给对象初始化。
回复 使用道具 举报
先是默认初始化,然后显示初始化,继而构造代码块,继而构造函数特定初始化。
构造代码块中给该类对象的共性内容初始化。
静态代码块:是给类中的共性内容初始化
回复 使用道具 举报
扫地僧wu 来自手机 中级黑马 2014-11-7 07:33:28
7#
昨天刚看到构造函数
回复 使用道具 举报
构造代码块:
作用:给对象进行初始化;
对象一建立就运行,而且优先于构造函数执行;
和构造函数的区别:
构造代码块是给所有对象进行统一初始化;
而构造函数是给对应的对象初始化;

楼主对文字的理解太过纠结,换个词解释不就行了。写个代码简单验证也很直观。
回复 使用道具 举报
高昌德 发表于 2014-11-7 07:02
构造代码块只执行一次,在类加载时,给类初始化化。
构造函数在new对象时就会加载,给对象初始化。
...

你说的这个有些问题,是静态的代码块才是只执行一次,普通的代码块也是每次new对象都会执行的
回复 使用道具 举报
本帖最后由 王世虎 于 2014-11-10 11:57 编辑

先说下构造代码块的作用:给对象进行初始化,对象一建立就运行,优先于构造函数执行。两者区别:
        构造代码块是给所有对象进行统一初始化。
        构造函数式给对应的函数初始化。
结论:
         定义对象共性初始化方式要放在构造代码块中
回复 使用道具 举报
学习!!!!!
回复 使用道具 举报
如果只有一个构造函数,你把构造代码块中的内容放在构造函数里效果一样。如果有多个构造函数,代码块就是这些构造函数的上级。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马