黑马程序员技术交流社区

标题: 一个简单的问题,构造函数 [打印本页]

作者: qq8921310    时间: 2014-11-6 11:34
标题: 一个简单的问题,构造函数
构造函数和构造代码块的区别.

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

这两句话貌似没有什么区别啊.
作者: dong53821713    时间: 2014-11-6 11:40
构造代码块是对每个对象进行初始化的
构造函数是对某一个对象进行初始化的


作者: RINGARES    时间: 2014-11-6 11:50
构造代码块 对有共性的内容进行初始化,也就是所有对象都会经过构造代码块的初始化
构造函数 是对单个对象的特性的部分进行初始化,也就一个对象会有相应的构造函数进行初始化

所以每个对象都需要的共性的初始化(构造代码块)会先执行,然后才是相应的构造函数被执行
作者: cs8630323    时间: 2014-11-7 03:01
一般记住两个不同
1 加载顺序不同,先代码块再构造
2 静态代码块能初始静态域,构造不能
作者: 高昌德    时间: 2014-11-7 07:02
构造代码块只执行一次,在类加载时,给类初始化化。
构造函数在new对象时就会加载,给对象初始化。

作者: zhangyangLengen    时间: 2014-11-7 07:09
先是默认初始化,然后显示初始化,继而构造代码块,继而构造函数特定初始化。
构造代码块中给该类对象的共性内容初始化。
静态代码块:是给类中的共性内容初始化
作者: 扫地僧wu    时间: 2014-11-7 07:33
昨天刚看到构造函数
作者: 王会涛    时间: 2014-11-10 09:18
构造代码块:
作用:给对象进行初始化;
对象一建立就运行,而且优先于构造函数执行;
和构造函数的区别:
构造代码块是给所有对象进行统一初始化;
而构造函数是给对应的对象初始化;

楼主对文字的理解太过纠结,换个词解释不就行了。写个代码简单验证也很直观。
作者: (づ ̄_3 ̄)づ    时间: 2014-11-10 09:25
高昌德 发表于 2014-11-7 07:02
构造代码块只执行一次,在类加载时,给类初始化化。
构造函数在new对象时就会加载,给对象初始化。
...

你说的这个有些问题,是静态的代码块才是只执行一次,普通的代码块也是每次new对象都会执行的
作者: 王世虎    时间: 2014-11-10 11:54
本帖最后由 王世虎 于 2014-11-10 11:57 编辑

先说下构造代码块的作用:给对象进行初始化,对象一建立就运行,优先于构造函数执行。两者区别:
        构造代码块是给所有对象进行统一初始化。
        构造函数式给对应的函数初始化。
结论:
         定义对象共性初始化方式要放在构造代码块中

作者: 焦旭宁1    时间: 2014-11-10 13:48
学习!!!!!
作者: FlyFish    时间: 2014-11-10 15:01
如果只有一个构造函数,你把构造代码块中的内容放在构造函数里效果一样。如果有多个构造函数,代码块就是这些构造函数的上级。




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2