Как массив работает внутри Java?

Этот запрос опубликован, чтобы в основном понять такие моменты, как

Объект является экземпляром класса или массивом;

Массив является подклассомObject учебный класс;

Все, что создается за исключением примитива, является объектом в Java.

Вот мое понимание работы с массивами в Java.

Учитывая приведенную ниже программу,

/* dummy.java */
class C {
    private int i; 
    public C() {
        i = 1;
        System.out.println("Am in constructor");
    }
}
public class dummy {
    public static void main(String[] args) {
        C[] c = new C[2]; // Line 11
        c[0] = new C();
        System.out.println(c);
    }
}

Объект типаclass [LC создается во время выполнения после запуска,

C[] c = new C[2]; //Line 11

В приведенном выше коде.class [LC является непосредственным подклассомObject учебный класс. Ссылочная переменнаяc указывает на этот объект (показан красной границей ниже) после запускаLine 12 в приведенном выше коде. Ссылочные переменные находятся в стеке и объект типаclass C пойдет в кучу.

Для изменения нижеline 11 & 12 в приведенном выше коде

C[][] c = new C[2][2];
c[0][0] = new C();

сделает представление как показано ниже.

Правильно ли мое понимание? Если да, не могли бы вы объяснить подробнее об использованииclass [LC во время выполнения, чтобы создать экземпляр объекта?

Замечания:C[].class дает фактический тип во время выполнения, которыйclass [LC.

Ответы на вопрос(1)

Ваш ответ на вопрос