12、代码块
1、普通代码块:直接写在方法中的代码块就是普通代码块
public class Demo1
{
public static void main(String[] args)
{
{//普通代码块
String info = "局部变量1";
System.out.println(info);
}
String info = "局部变量2";
System.out.println(info);
}
}
/*
输出:
局部变量1
局部变量2
*/
2、构造代码块:构造块是在类中定义的代码块,在创建对象时被调用,优于构造方法执行。
public class Demo1
{
public static void main(String[] args)
{
Demo d = new Demo();
System.out.println();
Demo dd = new Demo();
}
}
class Demo
{
public Demo()
{
System.out.println("构造方法。");
}
{//构造块
System.out.println("构造块");
}
}
/*
结果:
构造块
构造方法。
构造块
构造方法。
*/
3、静态代码块:在类中使用static声明的代码块为静态代码块,只会执行一次,优于构造块执行。我们在项目开发中,通常会使用静态代码块来初始化只调用一次的数据。
public class Demo1
{
public static void main(String[] args)
{
Demo d = new Demo();
System.out.println();
Demo dd = new Demo();
}
}
class Demo
{
{//构造块
System.out.println("构造块");
}
static
{
System.out.println("静态代码块");
}
public Demo()
{
System.out.println("构造方法。");
}
}
/*
结果:
静态代码块
构造块
构造方法。
构造块
构造方法。
*/
4、同步代码块(多线程中讲解)
小结:使用代码块的顺序高低是:静态代码块,普通代码块,同步代码块,构造代码块。