3、 new 一个对象的过程和 clone 一个对象的过程区别

new 操作符的本意是分配内存。程序执行到 new 操作符时,首先去看 new 操作符后面的类型,因为知道了类型,
才能知道要分配多大的内存空间。分配完内存之后,再调用构造函数,填充对象的各个域,这一步叫做对象的初始化,
构造方法返回后,一个对象创建完毕,可以把他的引用(地址)发布到外部,在外部就可以使用这个引用操纵这个对
象。
 
clone 在第一步是和 new 相似的,都是分配内存,调用 clone 方法时,分配的内存和原对象(即调用 clone 方法
的对象)相同,然后再使用原对象中对应的各个域,填充新对象的域,填充完成之后,clone 方法返回,一个新的相同
的对象被创建,同样可以把这个新对象的引用发布到外部。
 

点击链接加入群聊【Web开发交流群】:https://jq.qq.com/?_wv=1027&k=5dZTsqZ

发布了73 篇原创文章 · 获赞 134 · 访问量 11万+

猜你喜欢

转载自blog.csdn.net/Point9/article/details/104071693
今日推荐