繁体   English   中英

在java中传递的2d数组

[英]2d array passing in java

类文件:我使用2d int数组来存储值然后我设置setter和getter

public class SquareMatrix implements SquareMatrixInterface{
    int[][] squareMatrix; 

    public int[][] getSquareMatrix() {
        return squareMatrix;
    }

    public void setSquareMatrix(int[][] squareMatrix) {
        this.squareMatrix = squareMatrix;
    }
}

接口文件

public interface SquareMatrixInterface {
    public int[][] getSquareMatrix();
    public void setSquareMatrix(int[][] squareMatrix);
}

Main:我输入一个值并尝试将值设置为setter但它给了我错误

public class test {

    SquareMatrixInterface matrixA = new SquareMatrix();
    SquareMatrixInterface matrixB = new SquareMatrix();

    public static void main(String[] args) {
        int[][] m1 = {{1,2},{3,4}};
        matrixA.setSquareMatrix(m1);

    }
}

当我尝试将数组传递给setter时如何传递没有包含java库的2d数组时,为什么它会给我错误

你无法访问静态块内的非静态属性.. [无法对非静态字段进行静态引用]所以你需要将main方法重写为..

    public static void main(String[] args) {
        SquareMatrixInterface matrixA = new SquareMatrix();
        int[][] m1 = {{1, 2}, {3, 4}};
        matrixA.setSquareMatrix(m1);
    }

要么

static SquareMatrixInterface matrixA = new SquareMatrix();

public static void main(String[] args) {
    int[][] m1 = {{1, 2}, {3, 4}};
    matrixA.setSquareMatrix(m1);
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM