Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/370.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何深度复制多个类的对象数组_Java_Arrays_Deep Copy - Fatal编程技术网

Java 如何深度复制多个类的对象数组

Java 如何深度复制多个类的对象数组,java,arrays,deep-copy,Java,Arrays,Deep Copy,正如标题所示,我该如何做到这一点?我在互联网上到处都搜索过,也许我没有找到合适的词或什么的。但是请帮帮我 Object[]FlyingObject=新建FlyingObject[3]; FlyingObject[0]=新直升机(); FlyingObject[1]=新飞机(); FlyingObject[2]=新无人机(); 公共静态对象[]CopyFlyingObject(对象[]C){ 对象FlyingObjectCopy=新对象(C.长度); //…我不知道如何从这里继续下去 } 不允许

正如标题所示,我该如何做到这一点?我在互联网上到处都搜索过,也许我没有找到合适的词或什么的。但是请帮帮我

Object[]FlyingObject=新建FlyingObject[3];
FlyingObject[0]=新直升机();
FlyingObject[1]=新飞机();
FlyingObject[2]=新无人机();
公共静态对象[]CopyFlyingObject(对象[]C){
对象FlyingObjectCopy=新对象(C.长度);
//…我不知道如何从这里继续下去
}
不允许使用
clone()
,也不允许您查找类的名称。我在我的其他类中有copy构造函数,但我不知道在使用object时如何调用它,特别是对于整个数组中包含未知类的对象数组

编辑: 我的子类代码

'''java
    int speed;
    double price;
    Helicopter(){
         speed = 0;
         price = 0.0;
    }
    Helicopter(Helicopter c){
         speed = c.speed;
         price = c.price; 
    }

    public Airplane extends Helicopter{
      String brand;   
      Airplane(){
         super();
         brand = "";
       }
      Airplane(Airplane c){
         super(C);
         brand = c.brand;
       }
      public String getBrand(){
         return brand;
       }
    }
    public Drone{
    //practically the same for here
    }
'''

是否允许在FlyingObject接口上声明复制方法?你知道所有的对象都实现了这个接口,所以你可以为每个对象调用一个方法。它没有指定不允许复制方法。如何使用复制方法?问题是希望我们使用在类中创建的复制构造函数。也许我根本不应该使用对象数组,但我没有主意你应该包括你的具体子类的代码,显示你想要使用的复制构造函数。我想你可以反射地找到复制构造函数并调用它,如果练习的目的是教你反射。谢谢你的回答,我已经编辑并向您展示了我的子类的代码。子类并没有什么特别之处,我仍然不知道如何使用对象数组和不同类型的类调用复制构造函数。