黑马程序员技术交流社区

标题: 构造代码块与静态代码块的用途 [打印本页]

作者: Armstrong0825    时间: 2015-9-2 12:56
标题: 构造代码块与静态代码块的用途
      在教学视频里面有关于静态代码块和构造代码块的一部分 看了虽然觉得不是那么难懂 但是还是有一些小小的迷惑...
      我们学java就是为了用里面的方法 而这些方法都已经封装好了 我们可以用类里面的方法 但是静态代码块有什么用么? 我们把类加载进来 是为了用里面的方法 至于加载的过程,我们即使在静态代码块里面实现一些功能这些功能有什么现实意义?
      然后就算构造代码块了  构造很好理解 用来初始化 ,但是构造代码块?视频里说是给类进行初始化,只执行一次,给类初始化是什么意思?有什么作用?
      大家指点一下..
     
作者: 淡忘初学者    时间: 2015-9-2 15:19
静态先于对象存在,因此在编译运行代码时,静态代码块会优先于对象存在,给类初始化。话说类初始化,就是将对象所具有的一些共性特点加载进内存中,这样提高了代码复用性,也节约了资源
作者: Armstrong0825    时间: 2015-9-2 23:39
淡忘初学者 发表于 2015-9-2 15:19
静态先于对象存在,因此在编译运行代码时,静态代码块会优先于对象存在,给类初始化。话说类初始化,就是将 ...

那构造代码块呢 它的具体作用是什么?
作者: superhs    时间: 2015-9-2 23:48
对类的成员变量初始化
作者: 别弄那些没的    时间: 2015-9-3 00:21
对类的成员变量和方法初始化
作者: liudongcan    时间: 2015-9-3 00:29
用到时能想起就好,在后面的课程其实很少用
作者: freehello    时间: 2015-9-3 07:47
当类中有重载的构造方法时,可以使用构造代码块完成他们相同的功能,减少代码量
作者: Armstrong0825    时间: 2015-9-3 09:11
superhs 发表于 2015-9-2 23:48
对类的成员变量初始化

构造代码块貌似不是这样的功能吧...你说的应该是构造函数...
作者: Armstrong0825    时间: 2015-9-3 09:12
freehello 发表于 2015-9-3 07:47
当类中有重载的构造方法时,可以使用构造代码块完成他们相同的功能,减少代码量 ...

秒懂 原来是 这样 哈哈 谢谢你啦
作者: Armstrong0825    时间: 2015-9-3 09:14
liudongcan 发表于 2015-9-3 00:29
用到时能想起就好,在后面的课程其实很少用

之前就是看了一遍视频 很多细节都当时觉得简单 让后越积越多 到后来就看不懂了 现在重新学习视频...
作者: Armstrong0825    时间: 2015-9-3 09:16
别弄那些没的 发表于 2015-9-3 00:21
对类的成员变量和方法初始化

谢谢啦
作者: 淡忘初学者    时间: 2015-9-3 16:26
Armstrong0825 发表于 2015-9-2 23:39
那构造代码块呢 它的具体作用是什么?

也是进行初始化,只是静态代码块先于对象存在,而构造代码块在对象建立时才进行初始化
作者: Armstrong0825    时间: 2015-9-3 17:17
淡忘初学者 发表于 2015-9-3 16:26
也是进行初始化,只是静态代码块先于对象存在,而构造代码块在对象建立时才进行初始化 ...

哦 ! 这样呀 谢谢你啦..
作者: mah707    时间: 2015-9-3 17:21
给类初始化,是因为方法可以重载的,所以构造函数也是可以重载的,想个不同的对象进行初始化时,使用到了不同的构造函数,但是这个类的狗仔代码块给他的所有实例都进行了初始化
作者: 肖某    时间: 2015-9-3 18:02
学习了, 我也是这个傻傻分不清楚
作者: wangzhuo    时间: 2015-9-3 18:15
提醒一下,构造代码块在每次创建新对象的时候都会执行,静态代码块是只执行一次,给类进行初始化
作者: Boint    时间: 2015-9-3 18:54
以上楼层说的都差不多。搞清楚构造代码用于初始化就行了
作者: Armstrong0825    时间: 2015-9-3 19:53
Armstrong0825 发表于 2015-9-3 09:14
之前就是看了一遍视频 很多细节都当时觉得简单 让后越积越多 到后来就看不懂了 现在重新学习视频... ...

哈哈 谢谢咯 现在在重新学 看有没有漏网之鱼 你现在在上课了吗?
作者: Armstrong0825    时间: 2015-9-3 19:54
肖某 发表于 2015-9-3 18:02
学习了, 我也是这个傻傻分不清楚

哈哈 现在重新看了一遍 再看一遍感觉理解上比以前容易了  ps:你的技术分真多
作者: Armstrong0825    时间: 2015-9-5 19:56
wangzhuo 发表于 2015-9-3 18:15
提醒一下,构造代码块在每次创建新对象的时候都会执行,静态代码块是只执行一次,给类进行初始化 ...

嗯啦 谢谢啦
作者: Armstrong0825    时间: 2015-9-5 19:57
Boint 发表于 2015-9-3 18:54
以上楼层说的都差不多。搞清楚构造代码用于初始化就行了

嗯  厉害一点的黑马就是不一样




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