转来的:java中静态块和构造函数的执行顺序问题
2010-02-04 16:19
357 查看
public class Test2 extends TestStatic{
static{ System.out.println("b"); }
Test2(){ System.out.println(2); }
public static void main(String args[]){
TestStatic A=new Test2();
A=new Test2();}
}
class TestStatic {
static{System.out.println("a");}
TestStatic(){ System.out.println(1);}
}
执行结果:a b 1 2 1 2
可以看出执行顺序为:先执行父类中静态代码块,然后是子类静态块,其次父类构造函数,最后是子类构造函数。另外注意静态代码块只执行一次,所以后面语句A=new
Test2();执行结果只有1 2。
static{ System.out.println("b"); }
Test2(){ System.out.println(2); }
public static void main(String args[]){
TestStatic A=new Test2();
A=new Test2();}
}
class TestStatic {
static{System.out.println("a");}
TestStatic(){ System.out.println(1);}
}
执行结果:a b 1 2 1 2
可以看出执行顺序为:先执行父类中静态代码块,然后是子类静态块,其次父类构造函数,最后是子类构造函数。另外注意静态代码块只执行一次,所以后面语句A=new
Test2();执行结果只有1 2。
相关文章推荐
- java的静态属性,静态块,构造函数的执行顺序
- Java中构造函数执行顺序的问题
- Java类在new的过程中,静态域、静态块、非静态域、非静态块、构造函数的执行顺序问题
- java 静态块、非静态块、静态函数、构造函数 执行顺序
- Java基础 静态块、非静态块、构造函数的执行顺序
- java 静态块、非静态块、静态函数、构造函数 执行顺序
- [备忘]java 静态块、非静态块、静态函数、构造函数 执行顺序
- Java中构造函数、构造代码块、静态代码块等的执行顺序问题
- Java基础-静态块、非静态块、构造函数的执行顺序
- Java中静态块 代码块 构造函数的执行顺序
- Java中构造函数执行顺序的问题
- Java的块,静态块,构造函数,继承的执行先后顺序
- Java基础 静态块、非静态块、构造函数的执行顺序
- Java中构造函数执行顺序的问题
- Java 父类与子类初始化块,静态块,构造函数执行顺序
- Java 静态块 、构造块、构造函数执行顺序
- java静态块,普通块,构造函数的执行顺序
- 又一波 有关 java 静态代码块 代码块 构造函数执行顺序问题
- Java继承的初始化与构造函数的执行顺序问题
- JAVA 构造函数,静态块,非静态块执行顺序