慕粉1205048519
2017-01-19 23:05
创建对象是会执行初始化块吗,创建对象过程不就是执行构造方法的过程吗?和初始化块有关系吗?
初始化块并不是创建对象时执行的,而是第一次用到那个类的时候执行的。
以上面这个例子来说,程序执行main方法中第一句HelloWorld hello = new HelloWorld();的时候就会执行初始化块,而且只会执行一次。程序后面又创建了一个对象hello2,这个时候初始化块不执行,构造方法执行。只要记住初始化块是程序第一次调用类的时候执行(且只执行一次),而构造方法是每创建一个对象都会执行一次就行了。
另外,它们执行的顺序是:静态初始化块先执行,然后非静态初始化块再执行,最后构造方法执行。相同类型的初始化块,按照定义时的顺序执行。
Java入门第二季 升级版
530690 学习 · 6091 问题
相似问题
回答 2
回答 3
回答 2
回答 4
回答 3