java - 传入java的二维数组

标签 java arrays

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

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

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

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

接口(interface)文件

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 库的情况下传递二维数组

最佳答案

您无法访问 static block 内的 non static 属性。[无法对非静态字段进行静态引用]因此您需要将 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);
}

关于java - 传入java的二维数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40480468/

相关文章:

java - Maven JavaFx 项目编译但从控制台运行给出 "Missing JavaFX application class"错误消息

java - 从 Play Framework 2.3.x 中的绝对路径提供静态资源

java - 不可序列化父类的可序列化子类

java - 如何从 Internet 获取值到 String[] 数组并将其传递到 Android 中的 GridView ?

java - 我有两个 byte[] ,我需要比较这个 byte[] 之间的字符串,是否需要显式转换 new String(byte[])

java - 抽象递归泛型导致绑定(bind)不匹配

Java子类构造函数继承成员

c - 结构末尾大小为 0 的数组

javascript - 使用两个数组排序

javascript - 创建 javascript 对象时遇到问题