JAVA中静态代码块、非静态代码块、构造方法、成员构造方法运行顺序是怎样的?
public class StaticTest {
{
System.out.println(“这里是非静态代码块”);//静态代码块会在非静态代码块之前运行,java中代码依次运行的顺序是静态代码块—非静态代码块—构造方法—成员方法,成员方法只有在调用是才会生效,运行顺序与代码书写的顺序无关
}
static {
System.out.println("这里是静态代码块");
}
public StaticTest() {
System.out.println("这里是构造方法");
}
public void method() {
System.out.println("这里是成员方法");
}
public static void main(String[] args) {//创建mai n方法创建对象来实例化这个类
StaticTest test =new StaticTest();
test.method(); //成员方法只有在调用是才会生效
}
}
打印结果是:
这里是静态代码块
这里是非静态代码块
这里是构造方法
这里是成员方法