Java 贾维:我的浅拷贝构造函数有问题

Java 贾维:我的浅拷贝构造函数有问题,java,constructor,copy,shallow-copy,Java,Constructor,Copy,Shallow Copy,我的java作业有问题。 我正在创建一个Matrice类,并且我在使用以另一个Matrice作为参数的浅层构造函数时遇到了问题 Public class Matrice implements IMatrice{ private static int numLignes ; private static int numColonnes ; private static ArrayList<Double> elements ; public Matrice(int numLigne

我的java作业有问题。 我正在创建一个Matrice类,并且我在使用以另一个Matrice作为参数的浅层构造函数时遇到了问题

Public class Matrice implements IMatrice{

private static int numLignes ;
private static int numColonnes ;
private static ArrayList<Double> elements  ;

public Matrice(int numLignes, int numColonnes ) {
        this.numColonnes = numColonnes ;
        this.numLignes = numLignes ;

}

public Matrice(int numLignes, int numColonnes , double valeurs ){
    this(numLignes,numColonnes);
    this.elements = new ArrayList<>(numLignes * numColonnes);
    for(int i = 0 ;i< numLignes * numColonnes;i++){
        elements.add(valeurs);
    }




}

public Matrice(int numLignes, int numColonnes , double[] elements ) {
        this(numLignes,numColonnes);
        this.elements = new ArrayList<>() ;
        for(int i = 0 ;i<numLignes * numColonnes;i++){
            this.elements.add(elements[i]);

    }
}
public Matrice(Matrice autreMatrice) {
    numColonnes = autreMatrice.getNumColonnes();
    numLignes = autreMatrice.getNumLignes();

}
公共类矩阵实现IMatrice{
私有静态整数;
私有静态整数;
私有静态数组列表元素;
公共矩阵(整数、整数){
this.numcolones=numcolones;
this.numlinges=numlinges;
}
公共矩阵(整数、整数、双值){
这(numlinges,numcolones);
this.elements=新的ArrayList(numlinges*numColones);
对于(int i=0;i对于(inti=0;i您可以尝试这样做,而不是getNumColones()


如果您有setNumColones和setNumLines方法,它应该可以工作。

您需要复制其他矩阵内容,而不仅仅是维度。

它是一个复制构造函数,而不是复制方法。很抱歉,我误读了代码。您只需更改autreMatrice NumColones和NumLines
public Matrice(Matrice autreMatrice)
{
 autreMatrice.setNumColonnes(numColonnes);
 autreMatrice.setNumLignes(numLignes);
}