在java中,变量的初始化要先于任何方法,包括构造方法。
如:
class A{
A () {
System.out.println( "A: "+b);
}
void f () {
System.out.println( "f() :"+b);
}
intb = 1;
public static void main (String [ ] args) {
A a = new A();
a.f();
}
}
得到的运行结果将是:
A : 1
f(): 1
java类对象的第一次创建的顺序如下:
1.java解释器搜寻 classpath ,找到该类的 class 文件;
2.初始化所有static 成员
3.在堆(heap)内存为对象开辟足够的空间;
4.这块内存会自动清零,这样就为类的 primitive 类型成员赋值(成员变量);
5.执行定于的数据成员的初始化(局部变量);
6.执行构造函数;