课程
/后端开发
/Java
/Java入门第二季 升级版
创建对象是会执行初始化块吗,创建对象过程不就是执行构造方法的过程吗?和初始化块有关系吗?
2017-01-19
源自:Java入门第二季 升级版 8-10
正在回答
初始化块并不是创建对象时执行的,而是第一次用到那个类的时候执行的。
以上面这个例子来说,程序执行main方法中第一句HelloWorld hello = new HelloWorld();的时候就会执行初始化块,而且只会执行一次。程序后面又创建了一个对象hello2,这个时候初始化块不执行,构造方法执行。只要记住初始化块是程序第一次调用类的时候执行(且只执行一次),而构造方法是每创建一个对象都会执行一次就行了。
另外,它们执行的顺序是:静态初始化块先执行,然后非静态初始化块再执行,最后构造方法执行。相同类型的初始化块,按照定义时的顺序执行。
慕粉1205048519 提问者
举报
课程升级!以终为始告别枯燥,在开发和重构中体会Java面向对象编程的奥妙
2 回答初始化块,创建对象
3 回答对静态初始化块和普通初始化块的运行问题。
2 回答关于静态初始化模块的执行
4 回答为什么创建对象,几个初始化模块就会执行
3 回答初始化块到底怎么执行?