局部代码块:
作用:控制变量的生命周期;在方法内部
在程序中,当我们已经使用完 x 后,并且在接下来的代码中,不会再用到x,那么就没必要让x 在内存中占用空间了,这用情况下,可以使用 局部代码块,将x及其所设计到的区域封装为局部代码块,他们在程序执行中顺序不变,只是在执行完成后消失。
表现形式,以代码体现如下:
class TestDemo
{
public static void main(String[] args)
{
{
int x = 9;
System.out.println(x);
}
System.out.println("Hello World !");
}
}
构造代码块:
作用:它可以给所有对象进行初始化,先于构造方法执行 存在于:{}类中。
当类中的构造方法以重载的形式存在时,并且有共同成员变量或共同的方法时,可以通过构造代码块对其进行初始化;这样可以减少代码的重复!
优化后,代码体现为:
静态代码块:static和{}在类中。
特点:
1. 随着类的加载而执行,而且只一次。
2. 优先于主函数执行,优先于构造块。
作用:给类进行初始化。
可以使用一个初始化值,或者一个静态初始化块对静态域初始化;如果对类的静态域进行初始化的代码比较复杂,则可以使用static初始化块。
表现形式,以代码体现如下:
class StaticCode
{
static
{
System.out.println("A");
}
public void show()
{
System.out.println("Hello World !");
}
}
class StaticCodeDemo
{
static
{
System.out.println("B");
}
public static void main(String[] args)
{
new StaticCode().show();
}
static
{
System.out.println("C");
}
}
输出结果顺序为:
B
C
A
Hello World !
同步代码块:线程互斥块
同步的两种方法:
1.同步方法 public synchronized void func();
2.同步代码块
synchronized(同步对象)
{
同步代码;
}
d