Мне нужно знать, какие именно многомерные массивы классов в Java расширяются?
Когда мы назначаем
Object[] ref=new int[]{1,2,3};
компилятор жалуется, что объекты имеют разные типы. Так что кажется, что одномерные массивы расширяют Object
; Я это уже знаю.
Но когда мы назначаем
Object[] ref2=new int[][]{{1,2,3},{4,5,6}};
компилятор не будет жаловаться. Итак, кажется, что двумерные массивы расширяют Object[]
.
Но когда я печатаю имя его суперкласса:
System.out.println(ref2.getClass().getSuperclass().getName());
У меня java.lang.Object
.
Так может ли кто-нибудь объяснить, что здесь происходит?