Java块包括以下几类:
- 普通代码块,直接在方法中的一个块。
- 构造代码块,在类中定义,没有加static的块。
- 静态代码块,使用static关键字声明的代码块称为静态代码块,静态块的主要目的是用来为静态属性初始化。
- 同步代码块,用于多线程。
普通代码块
import java.lang.System;
public class haha {
public haha()
{
System.out.println("这是构造方法!");
}
public void fun()
{
{
System.out.println("普通代码块");
}
}
public static void main(String[] args){
haha h1=new haha();
h1.fun();
h1.fun();
haha h2=new haha();
h2.fun();
}
}
构造代码块
public class haha {
public haha(){
System.out.println("构造方法执行了~");
}
{
System.out.println("构造块执行了~");
}
public static void main(String[] args) {
new haha();
new haha();
}
}
静态代码块
import java.lang.System;
public class haha {
public haha()
{
System.out.println("这是主类中的构造方法!");
new Test();
}
static{
System.out.println("这是主类中的静态代码块!");
}
public static void main(String[] args){
new haha();
new haha();
new Test();
new Test();
}
}
class Test{
static{
System.out.println("这是Test类中的静态代码块!");
}
{
System.out.println("这是Test类中的构造块!");
}
public Test(){
System.out.println("这是Test构造方法!");
}
}
同步代码块
private static Object lock = new Object();
synchronized (lock) {
}