java代码块主要分为静态代码块 > 普通代码块 > 局部代码块, 同步代码块,
相同的代码块按定义的顺序先后执行.
当子类继承父类时,创建一个子类,代码块执行顺序:
1.父类的静态代码块.
2.子类的静态代码块.
3.父类的普通代码块
4.父类的构造方法
5.子类的普通代码块
6.子类的构造方法
public Class BlockCode {
//这是静态代码块
//主要作用:是对类的资源进行初始化
static {
/**
* 随着类的加载而执行,且只会执行一次
* 1.创建对象实例时(new)
* 2.创建子类对象实例,父类也会被加载
* 3.使用类的静态成员时
*/
}
//普通代码块(构造代码块)
//主要作用:当类中的构造方法以重载的形式出现,且有共同成员变量或方法时,采用些代码块减少代码重复
{
/**
* 在每次创建对象时都会调用一次(new)
*/
}
public static void main(String[] args) {
//局部代码块
{
/**
*主要作用: 用来限定变量的生命周期,尽早释放,节约内存
*/
}
}
public void function1(){
//同步代码块
//作用是解决多线程的安全问题
synchronized(this){
//执行同步操作
}
}