关于Java中几种方法块的执行过程分析

初学Java,对java中的普通代码块、静态代码块,以及它们与构造方法结合在一起时的执行过程有了了解,分享出来大家一起学习。更希望更多高手从各方面批评指正。


测试代码:


测试结果:


由上面的测试代码和测试结果可以看出以下几点:

1. 静态代码块最先执行,而且是在main方法还没开始运行时就执行。这是因为静态代码块的定义是在类初始化的时候就执行。由于上面的测试代码只有一个类,读者可以自行写出两个类,将静态代码块放在其中一个类中,另一个类写main方法,main方法中实例化有静态方法块的这个类,大家就会发现第一次实例化类的时候执行了静态代码块,这就是初始化的时候。

2. 静态代码块只执行一次,就在初始化的时候。

3. 实例化一个类的时候,如果类中有普通代码块,普通代码块优先于类的构造方法执行,而且不像静态方法块一样只执行一次,而是实例化几个对象就执行几次。


猜你喜欢

转载自blog.csdn.net/Michael_Zheng_Tech/article/details/49479535