非专业问题

fpwcs 2008-02-21 09:12:53
各位牛爷能通俗易懂地解释一下什么是JAVA复制构造函数啊??

看书上的看不懂啊 求!!!!
...全文
72 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
evennoob 2008-02-24
  • 打赏
  • 举报
回复
在函数使用值传递的时候,会在函数里面生成传递参数的一个副本,这个副本的内容是按位从原始参数那里复制过来的,两者的内容是相同的。当原始参数是一个类的对象时,它也会产生一个对象的副本,不过在这里要注意。一般对象产生时都会触发构造函数的执行,但是在产生对象的副本时却不会这样,这时执行的是对象的复制构造函数。

意思就是说,你把一个对象,用值传递传给函数的时候,函数内部不是需要复制这个对象吗?它复制的时候用复制构造函数产生这个副本,而不是构造函数,因为你调用构造函数的时候,构造函数里面会初始化一些成员变量。但是你往函数传参数的时候,你的对象的成员变量很可能已经改变了初始值,所以不能再初始化,只能将其复制,这个时候就用复制构造函数。

http://blog.csdn.net/fengzi_shen/archive/2007/11/16/1888038.aspx这篇文章讲得通俗易懂。

62,623

社区成员

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

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