1、代码块,静态代码块,构造代码块和局部代码块的介绍
(1) 代码块:在java中使用{…}括起来的代码
(2) 静态代码块
定义:在类中的成员位置,用{ }括起来,使用static修饰。
作用:一般是对类进行初始化,只执行一次
(3) 构造代码块
定义:在构造方法的位置,在类中的成员位置;每一次调用构造方法,都会执行对应的代码块;
(4) 局部代码块
定义:局部位置(main方法里),用于限定变量的生命周期
面试题:静态代码块,构造代码块,构造方法三者的执行顺序
答:静态代码块>构造代码块>构造方法
注意:如果main方法前前面有静态代码块,会先执行,然后在执行main方法的内容
2、throw和throws的区别
(1)**throws**:
位置:用在方法声明后面,跟的是异常类名
可以跟多个异常类名,用逗号隔开
表示抛出异常,由该方法的调用者来处理
throws表示异常的一种可能性,并不一定会发生这种异常
(2)**throw**:
位置:用在方法体内,跟的是异常对象名
只能抛出一个异常对象名
表示抛出异常,由方法体内的语句处理
throw则是抛出了异常,执行throw则一定抛出了某种异常
部分内容来自网络,侵删。