构造代码块和构造函数有什么区别?

Bol5261
新星创作者: Java技术领域
2020-04-03 01:26:32
构造代码块:是给所有的对象进行初始化,也就是说,所有的对象都会调用一个代码块。只要对象一建立。就会调用这个代码块。
构造函数:是给与之对应的对象进行初始化。它具有针对性。
...全文
519 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
密码测试 2020-04-08
  • 打赏
  • 举报
回复
举个例子就明白了: public class Test { { System.out.println("aaaaaa"); } public Test() { System.out.println("bbb"); } public Test(String a) { System.out.println("bbb" + a); } { System.out.println("ccc"); } public static void main(String[] args) { new Test(); new Test("xxxxxxx"); } } 运行这段代码,它的输出如下: aaaaaa ccc bbb aaaaaa ccc bbbxxxxxxx 构造方法中的代码,只在调用该方法时运行,而构造代码块在你调用任何一个构造方法时都会运行。 如果你的多个构造方法有共同的逻辑,可以重构到构造代码块中。
密码测试 2020-04-08
  • 打赏
  • 举报
回复
区别就是: 假设有多个构造函数,构造函数中的代码,只在调用这个构造函数的时候起作用。 而构造代码块,无论你调用哪个构造函数,都起作用。 简单一点可以理解为构造代码块是构造函数中共同逻辑的一个代码重构。
Scaarf 2020-04-08
  • 打赏
  • 举报
回复
补一下类的初始化顺序,搜一下相关博客
zhtoad 2020-04-07
  • 打赏
  • 举报
回复
构造函数就是新建一个对象的初始化函数呗。
qybao 2020-04-03
  • 打赏
  • 举报
回复
还是前提不明,难道构造函数不也是对象一创建就会调用吗?只是针对不同的参数调用不同的构造函数而已。

62,628

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧