今天我同学问我个问题,他说你能给我解释一下j2me中各方法执行顺序吗,我想大家也有这种疑惑:分享一下和大家共勉
class A extends B {
static int i2=0;
int i=0;
public A(){
}
}
如果new A();
如果是第一次载入A类,那么
先执行父类的静态定义初始化。
然后本类的静态定义初始化,也就是
如satic int i2=0;
这时父类和本类的静态方法和静态变量都已经可用了。
因为以上原因所以非静态方法可以调用静态方法,反之则不能直接调用。
以上过程只会在程序中发生一次,第二次就不用了
然后父类的非静态定义初始化
然后本类非静态定义初始化
如int i=0;
这时父类和本类的非静态方法都可以调用了
因为以上原因所以构造函数还没完成时就可以调用方法了
然后是构造函数。
构造函数会先调用父类的构造函数,通常是隐式的,也可能是显式的,通过super();
然后在调用本类的构造函数。