[英]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
) 和聲明的數組部分 ( [][]
)。 此外, m
和n
的默認值為零,因此您可能需要在分配 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.