Nullpointer exception engine alpha?

1 Antwort

Mit einer Deklaration machst du eine Variable dem Programm nur bekannt. Doch so lange du ihr noch keinen Wert zugewiesen hast, ist sie undefiniert.

Bild bild; // Deklaration
bild = new Bild("..."); // Definition

Instanz-/Klassenvariablen, die auf ein Objekt zeigen sollen, werden mit dem Wert null vorbelegt.

Wenn du nun versuchst, mit einer Variable zu operieren, die auf null zeigt, kann es zu einer NullPointerException kommen.

Verfolge den Werdegang deiner Variable. Relevant ist, wann sie ihren Wert ändert und welchen Wert sie dabei bekommt.

Miragedeadshot 
Fragesteller
 12.07.2023, 19:15

Mein Problem ist eher, dass ich ja das exakt gleiche mit einem anderen Bild gemacht habe, mir aber keine nullpointer exception gesagt wird

hintergrund2 = new BILD(500,500,"Hintergrund2.png");

hintergrund3 = new BILD(500,-500,"Hintergrund3.png");

hintergrund2.verschieben(0,2);   

hintergrund3.verschieben(0,2);
Und die Bilder werden auch angezeigt, das eine Bewegt sich bloss nicht

0
regex9  12.07.2023, 19:26
@Miragedeadshot

Ich denke, dass du noch nicht an der richtigen Stelle suchst. Auf Ebene dieser vier Codezeilen halte ich eine NullPointerException für ausgeschlossen. Der new-Operator ist in der Hinsicht eine sichere Bank.

Da du nicht mit der Bild-Klasse von Engine Alpha arbeitest, gehe ich von einer Eigenimplementation aus. Innerhalb des Konstruktors könnte vielleicht eine Exception geworfen werden oder innerhalb der verschieben-Methode. Was sagt denn der Stacktrace (der mit in der Fehlermeldung stehen sollte)?

0