课程
/后端开发
/Java
/Java入门第二季 升级版
在例题中,当再次创建对象 hello2 时并未执行静态初始化块,我想知道这仅仅是创建对象,并未调用啊,为什么普通初始化块和构造方法还要在执行呢、?
2016-09-07
源自:Java入门第二季 升级版 8-10
正在回答
创建一个对象的过程就包括了调用构造方法
HelloWorld hello2 = new HelloWorld();
hello2是一个对象引用,是使用new操作符构建的一个HelloWorld对象
类名HelloWorld后面是构造函数的参数列表,显然上面的构造函数参数为空
初始化块是在创建对象时对属性初始化(有的话就调用),构造方法是创建对象后对属性初始化(规定,必须调用)
到这里就明白执行顺序是什么了吧
当然是先执行静态代码块,接着执行构造方法
旗开得胜wds 提问者
Hello h = new Hello()
new Hello()就是在调用 无参构造器 类被加载的时候 静态代码块就会被执行
举报
课程升级!以终为始告别枯燥,在开发和重构中体会Java面向对象编程的奥妙
4 回答为什么创建对象,几个初始化模块就会执行
3 回答为什么在main()中创建对象,初始化块能直接运行
4 回答为什么创建对象时会进行初始化
1 回答构造方法可以初始化对象,还要初始化块干嘛?
1 回答初始化块执行和对象的关系