黑马程序员技术交流社区
标题:
来说说代码块
[打印本页]
作者:
RockLee
时间:
2015-7-1 10:54
标题:
来说说代码块
代码块分为3中情况。
1,普通代码块
这是平常写代码的时候最常见的,也是我们最熟悉,它通常出现在方法和语句的代码块中。
2,构造代码块
构造代码块,是直接写在类中的代码块。它优于构造方法执行,还有值得提醒的一点是每次对象实例化之前都要运行构造代码块。
3,静态代码块
其实质是用Static关键字修饰的构造代码块,它先于主方法执行,在构造代码块之前运行,且和构造代码块不同,无论实例化多少次对象
都只执行一次。
贴个代码让我们更加有一个清晰的认识
package reviewDemo;
/**
* 测试各代码块的优先级
* 优先级顺序:静态代码块 > 构造代码块 > 普通代码块
* 备注:无论创建几个对象,静态代码块只执行一次!
*/
public class Demo13 {
Demo13(){
System.out.println("我是构造方法!");
}
{
System.out.println("我是构造代码块!");//实例化对象的时候才会去调用!
}
static{
System.out.println("我是静态代码块!");
}
public static void main(String[] args) {
new Demo13();
new Demo13();//再次创建对象,证明无论创建几次对象,静态代码块都只执行一次
System.out.println("我是普通代码块!");
}
}
复制代码
运行的结果是:
我是静态代码块!
我是构造代码块!
我是构造方法!
我是构造代码块!
我是构造方法!
我是普通代码块!
作者:
RockLee
时间:
2015-7-1 12:34
:lol:):call:
作者:
燃烧的灵魂
时间:
2015-7-1 13:41
收藏了,不错!
作者:
zlpiano
时间:
2015-7-1 14:35
不错不错,复习一下
作者:
RockLee
时间:
2015-7-1 15:19
哈哈:lol
作者:
RockLee
时间:
2015-7-8 12:24
哈哈:lol
作者:
leesang
时间:
2015-7-8 14:12
说的很清晰啊,学习了
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2