说到哪个先运行的问题,在静态代码块的特点中,有“优先于主函数执行”这一句,而且构造代码块是给对象初始化的,
先new一个对象之后才有对对象的初始化,所以,综述,静态代码块先执行。
类里面的方法运行次序是:静态代码块,静态函数,代码块,构造函数。
其实你可以去试:
public class test
{
public static void main(String[] args)
{
ManthTest.test1();
ManthTest MT=new ManthTest();
}
}
class ManthTest{
ManthTest(){
System.out.println("构造函数");
}
{
System.out.println("代码块");
}
static{
System.out.println("静态代码块");
}
public static void test1(){
System.out.println("静态函数");
}
}