代码块

定义:被“{}”包括的代码片段,使代码具备独立性,一般用于实现特定算法;

分类:普通代码块、静态代码块、同步代码块、构造代码块;


普通代码块

一般方法中的代码块,必须紧跟方法名后,并且使用方法名调用;

代码块_第1张图片
普通代码块

静态代码块

static修饰的代码块,一般用于类加载时的静态属性初始化;

代码块_第2张图片
静态代码块

同步代码块

synchronized 关键字修饰的代码块,表示同一时间只能有一个线程进入到该方法块中,是一种多线程保护机制;


构造代码块

1.构造代码块和构造函数一样同样是在生成一个对象时被调用,调用顺序在构造函数之前但需依托构造函数;

2.编译器会将代码块按照他们的顺序(假如有多个代码块)插入到所有的构造函数的最前端,这样就能保证不管调用     哪个构造函数都会执行所有的构造代码块;

基于此特性,有如下应用场景:

1.多个构造函数均须初始化实例变量时,可以使用代码块减少重复代码;

2.当某个对象需要在适当的环境才能存在的情况,可以用代码块来创建;

代码块_第3张图片
构造代码块

执行顺序

静态代码块 > 构造代码块 > 构造函数

代码块_第4张图片
执行顺序

你可能感兴趣的:(代码块)