静态代码块,构造代码块,构造方法的执行顺序和特点

静态代码块:使用static修饰,在类加载的时候先执行。

构造代码块:出现在成员位置,执行顺序上,优先于构造方法执行。

构造方法:与类同名且没有返回值,相同的部分抽取出来执行。

例子:

/*
在程序中出现的{}括起来的代码就是代码块
可能出现的位置:
成员位置
方法体内
使用static修饰:静态代码块
*/
class Test{
//多个构造代码块之间是顺序执行的
{
System.out.println("python");
}

//static 修饰的叫静态代码块,多个静态代码块之间顺序执行
//在类加载时被执行
static{
System.out.println("linux");
}

public Test(){
System.out.println("world");
}
public Test(int a){
System.out.println("java");
}

//出现在成员位置,叫构造代码块,
//将所有构造方法中相同的部分抽取出来
//执行顺序上,优先于构造方法执行
{
System.out.println("hello");
}

static{
System.out.println("centos");
}

}


public class BlockDemo{
public static void main(String[] args){
Test t = new Test(2);
}
}


执行结果:

linux

centos

python

hello

java             吕俊雄


你可能感兴趣的:(静态代码块,构造代码块,构造方法的执行顺序和特点)