读书人

Java中静态初始化块、初始化块跟构造方

发布时间: 2012-11-10 10:48:50 作者: rapoo

Java中静态初始化块、初始化块和构造方法的执行过程

Java中静态初始化块、初始化块和构造方法的执行过程

?

例子:

package classmate;public class Team {public static void main(String[] args) {Person p = new Person();System.out.println("------------------------------");Person p1 = new Person();}}class Person{//构造方法public Person(){System.out.println("Person Constructor...");}//初始化代码块{System.out.println("Person Initialization Block...");}//静态代码块static {System.out.println("Person Static Block...");}}

???

???运行结果:

??

Person Static Block...Person Initialization Block...Person Constructor...------------------------------Person Initialization Block...Person Constructor...

???

?

?? 当创建第一个Person对象p的时候,执行顺序应该是 静态代码块 >? 初始化代码块? > 构造方法,但是当创建第二个Person对象p1的时候,执行顺序就变成了 初始化代码块? > 构造方法。原因很简单,因为 静态代码块只会在类第一次装入系统中才会执行,以后类在装入系统的时候,它就不执行了。

?

?

?

?

?

读书人网 >编程

热点推荐