java中的二维数组传递
类文件:我使用2dint数组存储值,然后设置setter和getterjava中的二维数组传递,java,arrays,Java,Arrays,类文件:我使用2dint数组存储值,然后设置setter和getter public class SquareMatrix implements SquareMatrixInterface{ int[][] squareMatrix; public int[][] getSquareMatrix() { return squareMatrix; } public void setSquareMatrix(int[][] squareMatri
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数组您无法访问静态块中的非静态属性。。[无法对非静态字段进行静态引用],因此需要将主方法重写为
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);
}
您已经有了正确的答案(关于静态与非静态),但下次请告诉我们确切的错误消息和stacktrace。您可以包括堆栈跟踪吗