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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 星之钥匙 中级黑马   /  2015-4-26 09:39  /  2197 人查看  /  55 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

程序中的静态代码块,构造代码块,构造方法的执行顺着,在程序运行是执行几次的问题:
一.几个概念:
1.普通代码块:在方法或语句中出现的{}就称为普通代码块。普通代码块和一般的语句执行顺序由他们在代码中出现的次序决定--“先出现先执行”
2.构造块:直接在类中定义且没有加static关键字的代码块称为{}构造代码块。构造代码块在创建对象时被调用,每次创建对象都会被调用,并且构造代码块的执行次序优先于类构造函数。
3.静态代码块:在java中使用static关键字声明的代码块。静态块用于初始化类,为类的属性初始化。每个静态代码块只会执行一次。由于JVM在加载类时会执行静态代码块,所以静态代码块先于主方法执行。
二:
1.执行顺序:(优先级从高到低。)静态代码块>mian方法>构造代码块>构造方法
2.执行次数:静态代码块只执行一次。构造代码块在每次创建对象是都会执行。

55 个回复

倒序浏览
学习拉  厉害
回复 使用道具 举报
您好,请问构造代码块和构造函数有何区别??谢谢
回复 使用道具 举报
请问能不能举例分析一下它们的应用
回复 使用道具 举报
大西洋 发表于 2015-4-26 10:57
您好,请问构造代码块和构造函数有何区别??谢谢

构造代码块对全部对象有用
回复 使用道具 举报 1 0
学习前辈经验
回复 使用道具 举报
mark~~~~~~~~
回复 使用道具 举报
Oscars 中级黑马 2015-4-26 14:51:57
8#
不明觉厉!
回复 使用道具 举报
Cat 中级黑马 2015-4-26 20:01:13
9#
学习喽~
回复 使用道具 举报
zzlin 中级黑马 2015-4-27 07:32:42
10#
总结的很好,学习
回复 使用道具 举报
楼主总结的不错
回复 使用道具 举报
面试题里的操作题,还有印象吗?求题。。。这个是问答题吧?
回复 使用道具 举报
构造代码块给对象初始化,对象一建立就运行,而且优先于构造函数执行。构造代码块是给所有对象进行统一初始化,而构造函数是给对应的对象分别初始化。
静态代码块给类初始化,随着类的加载只执行一次。
回复 使用道具 举报
大西洋 发表于 2015-4-26 10:57
您好,请问构造代码块和构造函数有何区别??谢谢

构造代码块是给所有对象进行统一初始化,而构造函数是给对应的对象分别初始化。
回复 使用道具 举报
学习啦!!!
回复 使用道具 举报
蓝墨清幽 发表于 2015-4-27 09:40
构造代码块是给所有对象进行统一初始化,而构造函数是给对应的对象分别初始化。 ...

感谢美女!学习~:)
回复 使用道具 举报
好详细的解释,总结得很好,谢谢分享
回复 使用道具 举报
大西洋 发表于 2015-4-26 10:57
您好,请问构造代码块和构造函数有何区别??谢谢

个人理解:每次创建类对象时,都会执行构造代码块,而构造函数是创建类对象时,执行的是指定的构造函数。构造代码块不写函数名,构造函数的函数名跟类名一致。
回复 使用道具 举报
学习了。。
回复 使用道具 举报
学习了。。
回复 使用道具 举报
123下一页
您需要登录后才可以回帖 登录 | 加入黑马