各位牛爷能通俗易懂地解释一下什么是JAVA复制构造函数啊??   看书上的看不懂啊    求!!!!

解决方案 »

  1.   

    在函数使用值传递的时候,会在函数里面生成传递参数的一个副本,这个副本的内容是按位从原始参数那里复制过来的,两者的内容是相同的。当原始参数是一个类的对象时,它也会产生一个对象的副本,不过在这里要注意。一般对象产生时都会触发构造函数的执行,但是在产生对象的副本时却不会这样,这时执行的是对象的复制构造函数。意思就是说,你把一个对象,用值传递传给函数的时候,函数内部不是需要复制这个对象吗?它复制的时候用复制构造函数产生这个副本,而不是构造函数,因为你调用构造函数的时候,构造函数里面会初始化一些成员变量。但是你往函数传参数的时候,你的对象的成员变量很可能已经改变了初始值,所以不能再初始化,只能将其复制,这个时候就用复制构造函数。http://blog.csdn.net/fengzi_shen/archive/2007/11/16/1888038.aspx这篇文章讲得通俗易懂。