new一个Java对象时,初始化和实例化有什么区别?

ljheee 2016-08-17 06:21:56
new一个Java对象时,初始化和实例化有什么区别?各自做什么?
...全文
1988 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
心想事成All 2016-08-18
  • 打赏
  • 举报
回复
引用 4 楼 ljheee 的回复:
[quote=引用 2 楼 NewMoons 的回复:] 实例化是初始化的其中一部分,初始化还包括类本身的加载,比如静态代码的执行和静态成员变量的初始化。 因为实例化就是new一个新的对象到堆内存空间,但静态化的代码就是类本身拥有的内存空间,被所有new的实例对象共享。
初始化还包括类本身的加载?????不是先类加载成功,才能创建对象吗?[/quote] 是说初始化有那几种,这个并没有冲突,就是说类的加载也是初始化的一种,初始化分很多种,比如说对象的初始化和类的初始化都属于初始化,静态代码块和静态成员变量都是在类加载的时候进行初始化赋值的。 最后的确是先加载类,才能创建对象,这个没有冲突。
ljheee 2016-08-17
  • 打赏
  • 举报
回复
引用 2 楼 NewMoons 的回复:
实例化是初始化的其中一部分,初始化还包括类本身的加载,比如静态代码的执行和静态成员变量的初始化。 因为实例化就是new一个新的对象到堆内存空间,但静态化的代码就是类本身拥有的内存空间,被所有new的实例对象共享。
初始化还包括类本身的加载?????不是先类加载成功,才能创建对象吗?
NewMoons 2016-08-17
  • 打赏
  • 举报
回复
还有,不管你new多少个对象,类的静态代码部分只执行一次,就是在初始化时。
NewMoons 2016-08-17
  • 打赏
  • 举报
回复
实例化是初始化的其中一部分,初始化还包括类本身的加载,比如静态代码的执行和静态成员变量的初始化。 因为实例化就是new一个新的对象到堆内存空间,但静态化的代码就是类本身拥有的内存空间,被所有new的实例对象共享。
京城阿飞 2016-08-17
  • 打赏
  • 举报
回复
实例化就是new,通过构造器开辟内存空间,生成一个对象实例。 初始化就是给已有的实例或者变量进行赋予初始值,不只针对于对象。

62,628

社区成员

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

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