Unten ist ein Code, den ich erstellt habe, um mir etwas über Arrays von Objekten beizubringen:
Code: Select all
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

Ich bin nicht sicher, was der Visualizer hier anzeigt; Ich verstehe, dass eine Kopie meiner Instanzvariablen deklariert und (glaube ich) einem Standardwert von 0 zugewiesen wird, bevor sie gemäß dem Konstruktorcode auf 3 initialisiert wird. Aber warum wird auf der „Frames“-Seite das Schlüsselwort this verwendet, um auf die Testinstanz zu verweisen?
Das wird anschließend angezeigt, wenn ich die nächsten Schritte durchführe:

dann

und dann

und schließlich zu

Ich dachte, das Schlüsselwort this wurde (unter anderem?) in Situationen wie der hier verwendeten verwendet:
Code: Select all
public class Test2{
private int myInt;
public Test2(int myInt){
this.myInt = myInt;
}
}
Ich fand es auch verwirrend, dass der oben visualisierte Konstruktoraufruf den Rückgabetyp void anzeigt, obwohl ich dachte, dass Konstruktoren keine Rückgabetypen haben.
Mobile version