java 继承类 变量、静态变量、构造函数执行顺序
2012-05-13 00:49
316 查看
class C{
static int prt(int i){
System.out.println(i);
return i;
}
}
class A{
int a=C.prt(0);
static int b=C.prt(1);
A(){
System.out.println("constructor of A");
}
}
class B extends A{
int c=C.prt(2);
static int d=C.prt(3);
B(){
System.out.println("constructor of B");
}
public void test(){
System.out.println("begin...");
}
}
public class orderTest{
public static void main(String[] args){
B b=new B();
b.test();
}
}
执行结果:
1
3
0
constructor of A
2
constructor of B
begin...
可以看出包含普通变量、静态变量、构造函数、继承类的执行顺序为:
1、父类的静态变量;
2、子类的静态变量;
3、父类的普通变量、父类的构造函数;
4、子类的普通变量、子类的构造函数;
5、普通方法。
static int prt(int i){
System.out.println(i);
return i;
}
}
class A{
int a=C.prt(0);
static int b=C.prt(1);
A(){
System.out.println("constructor of A");
}
}
class B extends A{
int c=C.prt(2);
static int d=C.prt(3);
B(){
System.out.println("constructor of B");
}
public void test(){
System.out.println("begin...");
}
}
public class orderTest{
public static void main(String[] args){
B b=new B();
b.test();
}
}
执行结果:
1
3
0
constructor of A
2
constructor of B
begin...
可以看出包含普通变量、静态变量、构造函数、继承类的执行顺序为:
1、父类的静态变量;
2、子类的静态变量;
3、父类的普通变量、父类的构造函数;
4、子类的普通变量、子类的构造函数;
5、普通方法。
相关文章推荐
- java 继承类 变量、静态变量、构造函数执行顺序
- java 继承类 变量、静态变量、构造函数执行顺序
- Java初始化顺序总结及其程序执行过程图- 静态变量、静态代码块、成员变量、构造函数
- Java父类与子类中静态代码块 实例代码块 静态变量 实例变量 构造函数执行顺序
- Java父类与子类中静态代码块 实例代码块 静态变量 实例变量 构造函数执行顺序
- java中成员变量、代码块、构造函数执行顺序
- java变量,初始化快,构造函数的执行顺序,运算符的优先级(从高到低)
- java继承中父类和子类静态、非静态代码块,构造函数,静态方法的执行顺序
- java变量,初始化快,构造函数的执行顺序
- 关于JAVA继承类的静态变量、成员变量、父子类构造方法调用顺序的探讨
- Java基础-子父类构造函数、静态变量(代码块)、普通变量的调用顺序
- java变量,初始化快,构造函数的执行顺序
- java变量,初始化快,构造函数的执行顺序
- java变量,初始化快,构造函数的执行顺序
- Java代码执行顺序(静态变量,非静态变量,静态代码块,代码块,构造函数)加载顺序
- java变量,初始化快,构造函数的执行顺序
- java变量,初始化快,构造函数的执行顺序
- 关于JAVA继承类的静态变量、成员变量、父子类构造方法调用顺序的研究
- java变量,初始化快,构造函数的执行顺序
- Java初始化顺序总结 - 静态变量、静态代码块、成员变量、构造函数