面向对象-代码块的概述和分类
代码块的定义:
在java中使用{ }括起来的代码被称为代码块
代码块的分类:
根据其位置和声明的不同,可以分为局部代码块,构造代码块,静态代码块,同步代码块。
局部代码块:
在方法中出现,用于限定变量的声明周期,及早释放,提高内存的利用率。
多个局部代码块的执行顺序:从上到下依次执行
构造代码块
在类中方法外(在类中的成员位置),用{}括起来的代码,每次调用构造方法都会执行该代码块,并且在构造方法前执行
作用: 将多个构造方法中相同的代码存放在一起,减少代码重复
构造代码块不管是放在构造方法前面或者后面,都要先于构造方法被执行
静态代码块
在类中方法外,用{}括起来的代码
与构造代码块不同的是,其前加了static修饰。
用于给类进行初始化,并且是在类加载的时候执行,且只执行一次。静态是随着类的加载而加载
构造代码块是对对象进行初始化,
面试题:
构造代码块,构造方法,静态代码块的执行顺序?
先静态代码块,只执行一次
后构造代码块,每次调用构造方法都会执行
最后构造方法