1200字范文,内容丰富有趣,写作的好帮手!
1200字范文 > 有参构造函数调用无参构造函数 构造代码块会执行两次么?

有参构造函数调用无参构造函数 构造代码块会执行两次么?

时间:2021-04-28 20:31:56

相关推荐

有参构造函数调用无参构造函数 构造代码块会执行两次么?

测试代码demo:

import java.util.concurrent.atomic.AtomicInteger;/*** 有参调用无参方法,构造代码块会执行两次么?*/public class BuildingCodeBlocksTest {private String name;static AtomicInteger i = new AtomicInteger(0);{System.out.println("构造代码块执行" + i.incrementAndGet() + "次");}public BuildingCodeBlocksTest() {}public BuildingCodeBlocksTest(String name) {this();this.name = name;}public static void main(String[] args) {new BuildingCodeBlocksTest("测试");}}

运行结果:

从运行结果可以发现,每个构造函数只会执行一次构造代码块。

看下编译后的class文件,如下:

从编译后的结果来看,只有无参构造方法中被插入了构造代码块,所以编译器确保了每个构造函数只能执行一次构造代码块。

总结

有参调用无参方法,构造代码块也只会执行一次。

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。