黑马程序员技术交流社区
标题:
代码块识别问题
[打印本页]
作者:
吴建红
时间:
2014-6-7 14:57
标题:
代码块识别问题
现在已经学习了三种代码块,局部代码块、静态代码块以及构造代码块,静态代码块很好识别,因为之前有个Static,但是局部代码块和构造代码块,从代码里如何一看识别出来呢?
作者:
yanghu
时间:
2014-6-7 15:32
还有一个同步代码块,主要用于多线程当中。
在一个类中,加了static的就是静态代码块,没有加static的就是构造代码块,在函数中的就是局部代码块。
静态块优先于主方法的执行,静态块优先于构造方法的执行,而且只执行一次!
构造代码块,在new对象时,构造代码块优先构造方法执行!
静态代码块优先于构造代码块执行。
理解错误的请指出,谢谢。
作者:
吴建红
时间:
2014-6-9 15:05
yanghu 发表于 2014-6-7 15:32
还有一个同步代码块,主要用于多线程当中。
在一个类中,加了static的就是静态代码块,没有加static的就是 ...
:handshake
作者:
axuan
时间:
2014-6-9 16:33
public class Test
{
public static void main(String[] args)
{
//局部代码块:
//作用:控制变量的生命周期;
int x=0;
System.out.println(x);
}
/*
* 构造代码块:
作用:它可以给所有对象进行初始化
存在于:类中。
*/
private String name;
public Test(String name)
{
this.name=name;
}
/*
* 静态代码块:
特点:
1. 随着类的加载而执行,而且只一次。
2. 优先于主函数执行。
作用:给类进行初始化
*/
static
{
Class.forName("com.mysql.jdbc.Driver");
}
}
作者:
爨庚轩
时间:
2014-6-9 20:22
判断是什么代码块,要看代码块出现的位置及有没有static修饰。用static修饰的就是静态代码块,这个可以很好的看出来;构造代码块,在类中定义且没有加static关键字的代码块称为{}构造代码块,构造代码块在创建对象时被调用;局部代码块:在方法或语句中出现的{}。
作者:
uu993
时间:
2014-6-9 20:45
1、执行顺序:(优先级从高到低。)静态代码块>mian方法>构造代码块>构造方法
2、普通代码块:在方法或语句中出现的{}就称为普通代码块。普通代码块和一般的语句执行顺序由他们在代码中出现的次序决定--“先出现先执行”。
构造代码块:直接在类中定义且没有加static关键字的代码块称为{}构造代码块。构造代码块在创建对象时被调用,每次创建对象都会被调用,并且构造代码块的执行次序优先于类构造函数。
静态代码块:在java中使用static关键字声明的代码块。静态块用于初始化类,为类的属性初始化。每个静态代码块只会执行一次。由于JVM在加载类时会执行静态代码块,所以静态代码块先于主方法执行。
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2