java当中的区块:
1:
{
//构造代码块,优于构造方法执行
}
2:
public void test(){
//方法区块
}
3:
static{
//静态代码块,会先执行一次,在构造方法之后
}
4:
class Demo{
//类区块
}
案例:
class HelloA{ public HelloA(){ System.out.println("I’m A class "); } static{ System.out.println("static A"); }}public class HelloB extends HelloA{ public HelloB(){ System.out.println("I’m B class"); } static{ System.out.println("static B"); } public static void main (String[] args){ new HelloB(); }}
以上代码执行的结果是:static A static B I’m A class I’m B class
解释: 类的初始化顺序是: 1、初始化父类中的静态成员变量和静态代码块。
2、初始化子类中的静态成员变量和静态代码块。
3、初始化父类中的普通成员变量和代码块,在执行父类中的构造方法。
4、初始化子类中的普通成员变量和代码块,在执行子类中的构造方法。