闲来整理一下java static:
public class StaticTest {
static int age1;
int age2;
static{
age1 = 10;
System.out.println("这是静态代码块");
}
{
System.out.println("这是普通代码块"+age1);
}
public StaticTest(){
System.out.println("这是构造方法");
}
public static void show(){
System.out.println("这是静态方法"+age1);
}
public void fun(){
System.out.println("这是普通方法");
}
public static void main(String[] args) {
//System.out.println(age);
//StaticTest t=new StaticTest();
StaticTest.show();
// t.fun();
/*System.out.println(t.age1);*/
}
}
执行结果:
说明在执行静态方法之前,先执行了静态代码块,且无论静态代码块,普通代码块,构造方法顺序如何,总是先执行静态代码块,再执行普通代码块(非方法体中),再执行构造方法。
说明在执行静态方法之前,先执行了静态代码块,且无论静态代码块,普通代码块,构造方法顺序如何,总是先执行静态代码块,再执行普通代码块(非方法体中),再执行构造方法。
Java static执行顺序
最新推荐文章于 2024-04-16 21:58:12 发布