类文件:我使用 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/