Tôi cần biết các mảng đa chiều trong lớp Java mở rộng chính xác?Mảng đa chiều trong Java mở rộng lớp nào?
Khi chúng ta gán
Object[] ref=new int[]{1,2,3};
trình biên dịch phàn nàn rằng các đối tượng là các loại khác nhau. Vì vậy, có vẻ như một mảng một chiều mở rộng Object
; Tôi biết rồi.
Nhưng khi chúng ta gán
Object[] ref2=new int[][]{{1,2,3},{4,5,6}};
trình biên dịch sẽ không phàn nàn. Vì vậy, có vẻ như mảng hai chiều mở rộng Object[]
.
Nhưng khi tôi in tên lớp cha của nó:
System.out.println(ref2.getClass().getSuperclass().getName());
tôi đã java.lang.Object
.
Vì vậy, bất kỳ ai cũng có thể giải thích những gì đang xảy ra ở đây?
Better phrased hơn câu trả lời của tôi. +1 –
@mmyers: +1 để xóa câu trả lời của bạn để ủng hộ việc đưa ra một câu trả lời mà bạn nghĩ là tốt hơn (hoặc tốt và sớm hơn). Tôi muốn nhiều người trong chúng ta làm điều đó! –
Nếu chúng ta tiếp tục int [] [] [] là một đối tượng [] [], do đó, nó là một loại tính năng trong ngôn ngữ java, và không có phân cấp lớp cho các mảng. – skystar7