java - 如何将祖先复制到后代

标签 java inheritance copy clone

假设我有一只动物,现在我想把它变成一只狗。我该如何在java中做到这一点?

现在我有一个看起来像的构造函数

public Dog(Animal animal) {
  this.setProperty(animal.getProperty);
  ...
}

虽然这有效,但它很脆弱。还有其他建议吗?

最佳答案

如果您的 Dog 扩展了 Animal,您可以创建一个构造函数,该构造函数接受 Animal 并初始化 super (父)构造函数:

public class Dog extends Animal {
    public Dog(Animal animal) {
        super(animal);
    }
}

假设您有一个 Animal 类,该类具有以下形式的复制构造函数:

public class Animal {
    public Animal(Animal animal) {
        // copies all properties from animal to this
    }
}

您可以通过执行以下操作从动物创建狗:

Dog newDog = new Dog(myExistingAnimal);

关于java - 如何将祖先复制到后代,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/982504/

相关文章:

非常小的字典的Java语音识别

linux - 这有可能覆盖linux之类的复制系统吗?

c++ - CUDA 设备到主机的复制非常慢

java - JMenu 不在 Windows 外观中

java - 在Java中,如何检查时间是否在两个日期对象之内

java - OnClickListener 方法的 Android View 参数

c++ - 跨平台 C++ 代码架构

java - 继承问题

scala - 在案例类之间继承属性

java - Java中的copy方法、equals方法和空数据的问题