按时间先后顺序
1、static修饰的变量初始化(是static修饰的,因此一个类就一次)
2、main方法(是static修饰的,因此一个类就一次)
3、构造方法
4、对象调用方法
示例代码:
public class Main {
int i = f();
static int j = s();
Main(){
System.out.println("我是构造方法");
}
public int f(){
System.out.println("对i的赋值");
return 100;
}
public static int s(){
System.out.println("对static的赋值");
return 500;
}
public static void main(String[] args){
System.out.println("我是main方法");
Main m = new Main();
Main mm = new Main();
}
static int k = s();
}
运行结果:
对static的赋值
对static的赋值
我是main方法
对i的赋值
我是构造方法
对i的赋值
我是构造方法
最后说明:
代码故意在最下面定义k变量,目的是说明static修饰的变量比起main方法确实早初始化。同时在main中创建两个对象示例,目的是说明static修饰的变量只初始化一次。
网友评论