代码块指的是使用{}定义的一块代码
普通代码块
构造代码块
静态代码块
同步代码块
1.普通代码块
指的是定义在方法中的代码块
个人认为:如果在程序编写中程序过长,防止变量重名,有时会用到代码块,正常不会使用
2.构造块
构造块指的是定义在类中的代码块
范例:定义构造快
class Person{
//构造块
{
System.out.println("1.Person类的构造块");
}
public Person(){
System.out.println("2.Person类的构造方法");
}
}
}
public class TestDemo{
public static void main(String args[]){
new Person();
new Person();
}
}
每一次使用关键字new实例化对象的时候一定会调用构造方法,但是有了构造块,构造块优先于构造方法先执行。
可以现在构造块里面进行一些数据处理再转交给构造方法。没有太大的意义
3.静态块
静态块指的是使用了static关键字修饰的构造块
分为:在非主类中定义的构造块
在主类中定义的构造块
静态块优先于构造块执行,不管产生多少个实例化对象,静态块只使用一次,为了static属性进行初始化。
静态块优先于主方法执行,没有太大的意义
如果一些属性需要在使用前进行一系列处理,那么就用静态块