2011-02-08 52 views

回答

2

A(A a){/*do something*/}可以像拷贝构造函数很有帮助。

3

如果你指的是一个与参数,没有理由对具有可言,因为它完全忽略参数,并且已经有另一个构造函数具有相同的效果。

如果你可以给一个更现实的例子,我们也许能够提供更多的有用信息......

0

你的问题很清楚,但基本上如果你哈瓦一个类,有一个构造函数,即采用相同的类的实例,那么你有一个拷贝构造函数。即创建一个具有与原始相同内部值的新实例的构造函数。

编辑 - 当然假设你的构造函数除了创建一个新的实例外还有其他的东西。

1

除非需要复制构造函数,否则没有任何优势。如果这个对象应该是可克隆的,而不是使用复制构造器语义,我会建议使用clone()方法。

2

正如其他人所说,你有一个复制构造函数。有一个number of reasons为什么你可能想要一个复制构造函数。其中一些是:

  1. 您可以提供克隆方法的替代方法。 (这是通过Clonable接口实现的。)
  2. 复制构造函数很容易实现。
  3. 您可以使用其他构造函数来构建副本(通过从原始对象中提取数据并转发到常规构造函数)。

查看我添加到这篇文章中的链接以获得更多关于复制构造函数的信息,以及为什么要使用它们(如果你需要的话)。

0

其中依赖注入或序列号被认为也有可能是在一些基于委托设计模式如decoratorproxy

提供一个默认的构造有用的可能仍然被认为是很好的做法,尤其是在场景。