markdown 在java中复制构造函数和clone()

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了markdown 在java中复制构造函数和clone()相关的知识,希望对你有一定的参考价值。

# Copy Constructor and `clone()` in java

*SOURCE:* [StackOverflow](https://stackoverflow.com/a/869078/1602807), [dzone](https://dzone.com/articles/java-cloning-copy-constructor-vs-cloning)

`clone()` and `Cloneable` interface in java could be tedious and has some issues. So in order to deep clone and object we can provide a simple copy constructor:

```java
class DummyBean {
  private String dummy;
  private Matrix matrix;
  
  public DummyBean(){} //default constructor

  //copy constructor, use this to clone
  public DummyBean(DummyBean another) {
    this.dummy = another.getDummy(); // String is already immutable
	this.matrix = new Matrix(another.getMatrix()); //deep copy
  }
  
  public String getDummy() {
	return dummy;
  }
  
  public Matrix getMatrix() {
	return matrix;
  }
}
```

以上是关于markdown 在java中复制构造函数和clone()的主要内容,如果未能解决你的问题,请参考以下文章

java中,什么是构造函数?什么是构造函数重载?什么是复制构造函数?

Java 复制构造函数银行帐户问题

java怎么样构造函数复制一个对象

为啥Java没有复制构造函数?

默认情况下Java构造函数不是公开的吗? [复制]

如果类具有参数化构造函数,为啥Java不提供默认构造函数? [复制]