簡體   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