Ниже приведен код, который я создал, чтобы научиться работать с массивами объектов:
Код: Выделить всё
1 public class Test {
2 int instanceVar;
3 public Test(){
4 instanceVar = 3; //just for example
5 }
6 public static void main(String[] args) {
7 Test[] testArr = new Test[2];
8 for (int k = 0; k < testArr.length; k++){
9 testArr[k] = new Test();
10 }//ends loop filling array of Test Objects with Test Objects
11
12
13 }//ends main method
14 }//ends program

Я не уверен, что здесь показывает визуализатор; Я понимаю, что копия моей переменной экземпляра объявлена и (я думаю) ей присвоено значение по умолчанию 0, прежде чем инициализировать ее значением 3 в соответствии с кодом конструктора. Однако, почему с точки зрения «кадров» ключевое слово this используется для указания на тестовый экземпляр?
Вот что показано потом, когда я прохожу следующие несколько шагов:

затем

а затем

и, наконец, чтобы

Я думал, что ключевое слово this использовалось (среди прочего?) в ситуациях, подобных этой:
Код: Выделить всё
public class Test2{
private int myInt;
public Test2(int myInt){
this.myInt = myInt;
}
}
Меня также сбивает с толку то, что вызов конструктора, показанный выше, показывает возвращаемый тип void, хотя я думал, что у конструкторов нет возвращаемых типов.>
Подробнее здесь: https://stackoverflow.com/questions/798 ... ring-array
Мобильная версия