簡體   English   中英

二維數組作為 Class 變量

[英]2D Array as a Class Variable

如果將其聲明為 class 變量,我無法理解為什么我必須一次又一次地提及二維數組的數據類型:

public class DDR
{
    int[][] arr; 
    int m;
    int n;
    public DDR() {
        m=0;
        n=0;
        int arr[][] = new int[m][n];
    }
}

當我省略int時,它表示“這不是一個聲明”。

現在,構造函數中的arr不是class 變量,而是隱藏 class 變量的局部變量。 int[][]都是該類型的一部分。

要初始化 class 變量,請不要聲明新變量。 您必須同時省略元素類型 ( int ) 和聲明的數組部分 ( [][] )。 此外, mn的默認值為零,因此您可能需要在分配 arrays之前設置它們:

m = 1;
n = 1;
arr = new int[m][n];

構造函數中的int arr [] []短語實際上是在聲明一個新數組,它會影響您的字段。 請記住,arrays 也是變量。 省略int會使語句在語法上沒有意義。 在這種情況下,您想要的是將一個數組分配給您的字段arr int[][]類型。

arr = new int[m][n];

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM